2016-09-02 1 views
0

지금까지 내가 프로그래밍 새로운 팀, 새로운 영역을 만들 수 있습니다,하지만 난 TFS 2015 "작업"탭으로 이동하면이 오류를 참조하십시오프로그래밍 방식으로 백 로그 반복 및 팀/영역 연결을 설정하는 방법은 무엇입니까?

TF400509 : 없음 백 로그 반복 경로를 지정하지되었다. 반복 경로를 선택해야합니다. 내가 수동으로 하나의 반복을 선택하는 경우

그래서 나는 얻을 :

TF400512 : 당신은 당신의 팀을 위해 어떤 영역을 선택하지 않았습니다. 제품 백 로그, 작업 보드 또는 타일과 같은 기능을 사용하려면 먼저 하나 이상의 영역을 선택해야합니다. 그래서 질문을 다시

  tpc.Authenticate(); 

      // Create New Area 
      ICommonStructureService css = tpc.GetService<ICommonStructureService>(); 
      string rootNodePath = string.Format("\\Onboarding\\Area"); 
      var pathRoot = css.GetNodeFromPath(rootNodePath); 
      var newAreaPath = css.CreateNode("Area 51", pathRoot.Uri); 

      // Create new Team with Same Name 
      TfsTeamService tts = tpc.GetService<TfsTeamService>(); 
      string newteamname = "Area 51"; 
      string teamdescription = "Area 51 Team Description"; 
      IDictionary<string, object> prop = new Dictionary<string, object> 
      { 
       {"Area", "Area 51"}, 
       {"Iteration", "\\Onboarding\\Iteration\\Onboarding" } 
      }; 
      tts.CreateTeam(onboardingProject.Uri.ToString(), newteamname, teamdescription, prop); 


      TfsTeamService teamService = tpc.GetService<TfsTeamService>(); 
      ProjectInfo projectInfo = css.GetProjectFromName("Onboarding"); 
      var allTeams = teamService.QueryTeams(projectInfo.Uri); 

:

여기 내 코드입니까?

는 어떤 시점에서 당신은 새로운 지역에 대한 백 로그 반복 설정할 수 있습니다, 방법은/어디는 새로운 팀에 대한 새로운 지역을 선택합니까?

+0

@Erik Philips .. 왜 TFS API 접두사를 제목에서 제거 했습니까? 그것 없이는 사람들이 올바른 맥락에서이 질문을 보는 것이 어려울 것입니다 .- ( – alejandrormz

+0

[제목에 질문에 질문을 넣어야합니까?] (http://meta.stackexchange.com/questions/19190/should-questions- include-tags-in-their-titles) - Stack Overflow에는 광범위한 태그 시스템이있어 사용자가 특정 기술과 관련된 기술을 식별하고 특정 주제를 보거나 무시하고 특정 영역에 대한 검색 범위를 좁히고 태그의 주제를 위키를 통해 검색 이 태그 시스템을 사용하면 질문에 관심이있는 사용자에게 알릴 수 있습니다 .. 스택 오버플로는 태그가 검색 엔진에서 콘텐츠와 함께 색인되도록 최적화되어 있습니다 ... –

답변

1

당신은 백 로그 반복 경로를 설정하는 코드를 다음 추가 할 수 있습니다 :

TeamSettingsConfigurationService tscs = tpc.GetService<TeamSettingsConfigurationService>(); 
    IEnumerable<TeamFoundationTeam> teams = tts.QueryTeams(projectInfo.Uri); 
    TeamFoundationTeam team = teams.Where(a => a.Name == "Area 51").FirstOrDefault(); 
    var teamconfigs = tscs.GetTeamConfigurations(new[] { team.Identity.TeamFoundationId }); 
    TeamConfiguration tconfig = teamconfigs.FirstOrDefault(); 
    Console.WriteLine(tconfig.TeamName); 
    TeamSettings ts = tconfig.TeamSettings; 
    ts.IterationPaths = new string[] { string.Format("\\Onboarding\\Iteration 1") }; 
    ts.BacklogIterationPath = string.Format("\\Onboarding\\Iteration 1"); 
    TeamFieldValue tfv = new TeamFieldValue(); 
    tfv.IncludeChildren = true; 
    tfv.Value = projectInfo.Name + "\\Area 51"; 
    ts.TeamFieldValues = new TeamFieldValue[] { tfv}; 
    tscs.SetTeamSettings(tconfig.TeamId,ts); 
+0

Eddie에게 감사드립니다. 매우 도움이되었습니다. 설정하여 지역/팀 매핑을 만들었습니다. tfv.Value = projectInfo.Name + "\\ Area 51"; – alejandrormz

0

, 당신은 프로그래밍 TeamSettings을 설정하는 방법의 경우 TFS 2012 API Set TeamSettings Programmatically을 확인하실 수 있습니다 당신은 TeamSettings Class를 찾고 있습니다 :

// 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); 

유용한 블로그 : http://blogs.microsoft.co.il/shair/2012/05/23/tfs-api-part-46-vs11-team-settings/

관련 문제