TFS 2012 API Set TeamSettings Programmatically

后端 未结 1 1955
灰色年华
灰色年华 2020-12-11 18:51

Is it possible to set the TeamSettings Programmatically?

var teamConfig = _tfs.GetService();
                var css         


        
相关标签:
1条回答
  • 2020-12-11 18:59

    I think I have solved it myself.

            // Set up default team sprint date and time
            var teamConfig = _tfs.GetService<TeamSettingsConfigurationService>();
            var css = _tfs.GetService<ICommonStructureService4>();
    
            string rootNodePath = string.Format("\\{0}\\Iteration\\Release 1\\Sprint 1", _selectedTeamProject.Name);
            var pathRoot = css.GetNodeFromPath(rootNodePath);
    
            css.SetIterationDates(pathRoot.Uri, DateTime.Now.AddDays(-5), DateTime.Now.AddDays(7));
    
            var configs = teamConfig.GetTeamConfigurationsForUser(new[] { _selectedTeamProject.Uri });
            var team = configs.Where(c => c.TeamName == "Demo").FirstOrDefault();
    
            var ts = team.TeamSettings;
            ts.BacklogIterationPath = string.Format(@"{0}\Release 1", _selectedTeamProject.Name);
            ts.IterationPaths = new string[] { string.Format(@"{0}\Release 1\Sprint 1", _selectedTeamProject.Name), string.Format(@"{0}\Release 1\Sprint 2", _selectedTeamProject.Name) };
    
            var tfv = new TeamFieldValue();
            tfv.IncludeChildren = true;
            tfv.Value = _selectedTeamProject.Name;
            ts.TeamFieldValues = new []{tfv};
    
            teamConfig.SetTeamSettings(team.TeamId, ts);
    

    This sets up,

    1. Iteration Start and Finish Date for an Iteration
    2. Backlog Iteration Path for the team Demo
    3. Sets up Iteration Paths for the team Demo
    4. Sets up the default Area Path for the team Demo
    

    HTH Cheers, Tarun

    0 讨论(0)
提交回复
热议问题