Получить ветки кода из конкретного командного проекта - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь получить список ветвей кода в TFS через код, но только те, которые находятся под конкретным командным проектом.Код, который я сейчас использую, возвращает мне все ветви всех проектов Team, независимо от того, активны они или удалены.

Как я могу отфильтровать результаты, чтобы они возвращали результаты только из командного проекта, который мне нужен?

        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 голосов
/ 30 мая 2018

Невозможно ветвиться под конкретный командный проект с SOAP API.Вы должны использовать REST API с параметром scopePath :

Get http://TFS2015:8080/tfs/DefaultCollection/teamproject/_apis/tfvc/branches?scopePath=&/teamproject&api-version=2.2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...