您如何从Azure DevOps Services REST API获取可用的区域路径?

时间:2019-04-12 21:42:46

标签: azure-devops azure-devops-rest-api

我找不到如何从API检索区域路径的方法。我能够到达“迭代路径”,但无法到达“区域路径”。

我在技术上正在使用c#包装器

我尝试过

  • ProjectHttpClient.GetProject()
  • ProjectHttpClient.GetProjectPropertiesAsync();
  • WorkItemTrackingHttpClient.GetFieldAsync(“ System.AreaPath”);
  • WorkItemTrackingHttpClient.GetWorkItemTypeFieldWithReferencesAsync();
  • 自从那里获得迭代以来,我也一直在研究WorkHttpClient。
  • 我已经浏览了文档,却找不到任何东西。即使搜索“区域”也不会返回结果。

azure devops project settings

1 个答案:

答案 0 :(得分:2)

以下是您要查找的API调用:

https://docs.microsoft.com/en-us/rest/api/azure/devops/wit/classification%20nodes/get%20classification%20nodes?view=azure-devops-rest-5.1

GET https://dev.azure.com/{organization}/{project}/_apis/wit/classificationnodes?$depth={$depth}&api-version=5.0

这将为您提供根节点及其子级,之后您可以查询单个子级,例如我得到的子级的示例:

id            : 32
identifier    : GUID
name          : childname
structureType : area
hasChildren   : False
path          : \parent\Area\childname
url           : https://dev.azure.com/xxx/yyy/_apis/wit/classificationNodes/Are
                as/childname

C#API:

_destinationTfs = new VssConnection(new Uri(TfsUri), new VssBasicCredential(string.Empty, AccessToken));
_witClient = _destinationTfs.GetClient<WorkItemTrackingHttpClient>();

var areaPathNode = await _witClient.GetClassificationNodeAsync("PROJECT_NAME", TreeStructureGroup.Areas, depth: 1);
// areaPathNode.Children will contain all your area paths.

ps。它在API文档中非常隐蔽