使用Microsoft.TeamFoundation.Client删除VSTS / TFS中的迭代

时间:2018-06-25 14:08:21

标签: c# tfs azure-devops tfs-sdk

我使用以下代码以编程方式在VSTS / TFS上创建新的迭代:

limit

现在,我想删除一个迭代,但是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的方法。

1 个答案:

答案 0 :(得分:0)

我明白了!我在这里假设您有某种方法来检索迭代。

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);

关键是传递ID,而不传递路径。 TFS希望检索以ID表示的工件URL。 DeleteBranches的第二个参数是迭代根的工件URL,它是通过调用ListStructures的{​​{1}}并将其中的第一个元素获得的(这有点讨厌IMHO,但我不知道有更好的方法)。