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

问题描述 投票:0回答:1

我使用此代码以编程方式在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()的方法。

c# tfs azure-devops tfs-sdk
1个回答
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,它是通过调用ListStructuresICommonStructureService并在那里取第一个元素获得的(这是一种令人讨厌的恕我直言,但我不知道更好的方法)。

© www.soinside.com 2019 - 2024. All rights reserved.