从特定团队项目中获取代码分支

时间:2018-05-29 14:05:24

标签: visual-studio-2015 tfs2015

我正在尝试通过代码获取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();

1 个答案:

答案 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