Удаление итерации в VSTS / TFS с использованием Microsoft.TeamFoundation.Client - PullRequest
0 голосов
/ 25 июня 2018

Я использую этот код для программного создания новой итерации в VSTS / TFS:

var tfs = new TfsTeamProjectCollection(uri, tfsCredential);
var service = tfs.GetService<ICommonStructureService>();
var iterationRoot = service.GetNodeFromPath("\\TeamProjectName\\Iteration");
var iteration = service.CreateNode("Sprint 1", iterationRoot.Uri);

Теперь я хочу удалить итерацию, но в ICommonStructureService соответствующий метод отсутствует.Как ни странно, есть метод с именем GetDeletedNodesXml().

1 Ответ

0 голосов
/ 25 июня 2018

Я понял! Здесь я предполагаю, что у вас есть какой-то метод для извлечения итерации.

var tfs = new TfsTeamProjectCollection(uri, tfsCredential);
var service = tfs.GetService<ICommonStructureService>();
// TODO var iteration = GetIteration();    
var projectInfo = service.GetProjectFromName(projectName)
var nodes = service.ListStructures(projectInfo.Uri);
service.DeleteBranches(iteration.Id, nodes[0].Uri);

Ключ заключается в передаче идентификаторов, а не путей. TFS хочет получить URL-адреса артефактов, которые представлены в виде идентификаторов. Второй параметр DeleteBranches - это URL-адрес артефакта корня итерации, который получается путем вызова ListStructures из ICommonStructureService и взятия первого элемента там (что довольно неприятно, ИМХО, но я не знаю лучшего способ).

...