我想通过REST API(或包装REST API的MS中的API DLL)在Azure Devops Services中为团队设置“ DefaultIterationPath”。 可以使用UpdateTeamSettings方法来完成。
阅读可以使用以下方法完成团队设置(没关系):
TeamContext teamContext = new TeamContext(prjinfo.Name, sTeamName);
TeamSetting teamSetting = work_client.GetTeamSettingsAsync(teamContext).Result;
使用方法 UpdateTeamSettings 编写团队设置需要提供一个TeamSettingsPatch。
TeamSettingsPatch patch = new TeamSettingsPatch();
// patch.DefaultIteration = <Guid of the new DefaultIterationPath>
work_client.UpdateTeamSettingsAsync(patch, teamContext);
TeamSettingsPatch具有一个属性:
public Guid? DefaultIteration { get; set; }
但不是类似以下(或类似内容)的属性:
public string DefaultIterationPath { get; set; }
在哪里可以提供新的DefaultIterationPath?有没有办法创建它,获取其Guid并在TeamSettingsPatch对象中设置该Guid?
REST API出现相同的问题。
有什么想法吗?
答案 0 :(得分:0)
此名称有点奇怪,可能很难发现。区域和迭代在内部都称为“分类节点”。一旦知道了,找到和创建它们就很容易。
您正在寻找WorkItemTrackingHttpClient
服务。其中包含方法GetClassificationNodeAsync
,可用于搜索区域和迭代。它将包含实体的GUID。
答案 1 :(得分:0)
简短总结我所做的事情:
workitem_tracking_client = team_project_collection.GetClient<WorkItemTrackingHttpClient>();
...
WorkItemClassificationNode newNode = new WorkItemClassificationNode();
newNode.Name = sIterationName;
newNode.StructureType = TreeNodeStructureType.Iteration;
WorkItemClassificationNode result = workitem_tracking_client.CreateOrUpdateClassificationNodeAsync(newNode, prjinfo.Name, TreeStructureGroup.Iterations).Result;
...
TeamSettingsPatch patch = new TeamSettingsPatch();
patch.DefaultIteration = result.Identifier;
var newsett = work_client.UpdateTeamSettingsAsync(patch, teamContext).Result;
这将设置DefaultBacklogIteration。