2016-08-04 2 views
1

특정 프로젝트의 분기에 대한 모든 코드 검토 요청을 표시하는 도구로 작업하고 있습니다. 바로 지금 프로젝트와 해당 분기 목록이 올바르게 채워집니다. 그러나 TeamProjectCollection에 대한 WorkItemStore에 대한 쿼리를 실행하려고하면 잘못 분기를 참조하고 있다고 생각합니다. 여기TFS 분기를 기반으로 WorkItem을 쿼리하는 방법

내가 이전 코드에서 분기 정보를로드하고 있습니다 방법은 다음과 같습니다 여기

using (var tfs = new TfsTeamProjectCollection(new Uri(@"http://myTeamProjectCollectionURL"))) 
{ 
    var workItemStore = tfs.GetService<WorkItemStore>(); 
    var query = string.Format(@"SELECT * 
           FROM WorkItems 
           WHERE [System.TeamProject] = '{0}' 
           and [System.IterationPath] under '{1}' 
           and [System.WorkItemType] = 'Code Review Request'", ddlProjects.SelectedItem.ToString(), ddlBranches.SelectedItem.ToString()); 

    WorkItemCollection workItemCollection = workItemStore.Query(query); 

그리고 :

여기
var projName = ddlProjects.SelectedItem.ToString(); 

var vcs = tfs.GetService<VersionControlServer>(); 
var bos = vcs.QueryRootBranchObjects(RecursionType.Full); 
var branchList = bos.Select(branch => branch.Properties.RootItem.Item).ToList(); 
var finalList = branchList.Where(b => b.Contains(projName)).ToList(); 
ddlBranches.DataSource = finalList; 

내가 오류를 던지고 쿼리를 실행하는거야 방법 쿼리 결과 오류 :

TF51011: The specified iteration path does not exist. The error is caused by «'$/ProjectName/ReleaseBranch1.0'». 

다시 말하지만, 내가 잘못 queue에서 분기를 참조한다고 가정합니다. 너. 누구든지 올바른 방법을 알고 있습니까? 제공 할 수있는 도움에 미리 감사드립니다!

+1

반복 경로와 분기는 완전히 관련없는 개념입니다. 분기에 맞게 반복 경로를 명시 적으로 설정 했습니까? –

+0

나는 많은 것을 알았다. 아니, 내가 아는 한 그런 식으로 설치하지는 않는다. 반복 경로가 아닌 쿼리에서 분기를 참조하는 방법이 있습니까? –

답변

1

작업 항목은 프로젝트가 아니라 팀 프로젝트에서 생성됩니다. 따라서 기본적으로 지점에 해당하는 필드가 없습니다.

원하는 것을 얻으려면 분기 경로를 지정하기 위해 필드를 사용자 정의해야하며 그런 다음 해당 쿼리가 있어야합니다.

+0

응답 해 주셔서 감사합니다! 실례지만,이 일을 수행하는 방법에 대한 샘플을 보여 주시겠습니까? 저는 여전히 LINQ 쿼리와 TFS API에 대해 처음으로 익숙합니다. 추가 도움을 주셔서 감사합니다. –

+0

TFS 전동 공구 (https://visualstudiogallery.msdn.microsoft.com/898a828a-af00-42c6-bbb2-530dc7b8f2e1)가있는 필드를 추가하면 쿼리에서 사용자 정의 필드를 찾을 수 있습니다. 이 블로그를 참조하십시오 : http://amosdk.blogspot.sg/2010/09/how-to-add-custom-field-to-existing.html –

관련 문제