/// <summary> /// Create TFS Team if not exists /// </summary> /// <returns></returns> public TeamFoundationTeam CreateTeam() { // Check team already exists var teams = _tfsTeamService.QueryTeams(_projectInfo.Uri.ToString()); var existingTeam = teams.FirstOrDefault(t => t.Name == _softwareProjectName); if (existingTeam != null) { Console.WriteLine($"Team '{existingTeam.Name}' already exists."); return(existingTeam); } //Create TFS Team TeamFoundationTeam team = _tfsTeamService.CreateTeam( _projectInfo.Uri.ToString(), _softwareProjectName, _softwareProjectDescription, null); //Set the IterationPaths and BacklogIterationPath for the TFS Team var teamConfiguration = _teamSettingsConfigurationService.GetTeamConfigurations(new[] { team.Identity.TeamFoundationId }); TeamConfiguration tconfig = teamConfiguration.FirstOrDefault(); TeamSettings ts = tconfig.TeamSettings; ts.IterationPaths = new string[] { $"{_projectInfo.Name}\\{_softwareProjectName}\\Sprint 1" }; ts.BacklogIterationPath = $"{_projectInfo.Name}\\{_softwareProjectName}"; TeamFieldValue tfv = new TeamFieldValue(); tfv.IncludeChildren = true; tfv.Value = ts.BacklogIterationPath; ts.TeamFieldValues = new TeamFieldValue[] { tfv }; _teamSettingsConfigurationService.SetTeamSettings(tconfig.TeamId, ts); Console.WriteLine($"Team '{team.Name}' created."); return(team); }
public void EnableAreaPath(string areaPath, bool includeChildren) { DefaultTeamSettings(); var areas = new TeamFieldValue[TeamConfiguration.TeamSettings.TeamFieldValues.Length + 1]; TeamConfiguration.TeamSettings.TeamFieldValues.CopyTo(areas, 0); areas[areas.Length - 1] = new TeamFieldValue { Value = this.FormatPath(areaPath), IncludeChildren = includeChildren }; TeamConfiguration.TeamSettings.TeamFieldValues = areas; this.TeamSettingsConfigurationService.SetTeamSettings(this.TeamConfiguration.TeamId, TeamConfiguration.TeamSettings); LoadAreaPaths(); }