如何通过 REST API 在 Azure Devops 的团队设置中设置 DefaultIterationPath?
How to set DefaultIterationPath in the Team Settings of Azure Devops via REST API?
我想通过 REST API(或来自 MS 的 API DLL 包装 REST API)为团队在 Azure Devops 服务中设置 "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。
有什么想法吗?
这个术语有点奇怪,很难发现。区域和迭代在内部都称为 "classification nodes"。一旦您知道了这一点,查找和创建它们就很容易了。
您正在寻找 WorkItemTrackingHttpClient
服务。其中包含一个方法 GetClassificationNodeAsync
,允许您搜索区域和迭代。这将包含实体的 GUID。
总结一下我所做的事情:
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。
我想通过 REST API(或来自 MS 的 API DLL 包装 REST API)为团队在 Azure Devops 服务中设置 "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。
有什么想法吗?
这个术语有点奇怪,很难发现。区域和迭代在内部都称为 "classification nodes"。一旦您知道了这一点,查找和创建它们就很容易了。
您正在寻找 WorkItemTrackingHttpClient
服务。其中包含一个方法 GetClassificationNodeAsync
,允许您搜索区域和迭代。这将包含实体的 GUID。
总结一下我所做的事情:
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。