我正在尝试通过代码获取TFS中的代码分支列表,但仅限于特定团队项目下的代码分支列表。我正在使用的代码为我提供了所有Team项目的所有分支,无论它们是活动的还是已删除的。
如何过滤结果只能带回Team Project中的结果?
List<string> listOfBranches = new List<string>();
TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(@"MyTFSCollection"));
VersionControlServer vcs = (VersionControlServer)tpc.GetService(typeof(VersionControlServer));
var allProjects = tpc.GetService(typeof(TeamProject));
var branchObjects = vcs.QueryRootBranchObjects(RecursionType.Full);
foreach (var branch in branchObjects)
{
var branchName = branch.Properties.RootItem.Item;
var parentFolder = branchName.Substring(0, branchName.LastIndexOf('/'));
listOfBranches.Add(branchName);
}
listOfBranches.Sort();
答案 0 :(得分:0)
无法使用SOAP api在特定团队项目下进行分支。您必须使用REST API with scopePath
parameter:
Get http://TFS2015:8080/tfs/DefaultCollection/teamproject/_apis/tfvc/branches?scopePath=&/teamproject&api-version=2.2