Как получить доступ к путям областей из API-интерфейса REST служб Azure DevOps? - PullRequest
1 голос
/ 13 апреля 2019

Не могу найти, как получить пути областей из API. Мне удалось добраться до путей итераций, но не до путей областей.

Технически я использую оболочку c #

Я пытался пройти через

  • ProjectHttpClient.GetProject ()
  • ProjectHttpClient.GetProjectPropertiesAsync ();
  • WorkItemTrackingHttpClient.GetFieldAsync ( "System.AreaPath");
  • WorkItemTrackingHttpClient.GetWorkItemTypeFieldWithReferencesAsync ();
  • Я тоже посмотрел в WorkHttpClient, так как получил итерации оттуда.
  • Я просмотрел документы и ничего не смог найти. Даже поиск по «области» не дает результатов.

azure devops project settings

1 Ответ

3 голосов
/ 13 апреля 2019

Вот вызовы 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.

пс. Это очень хорошо спрятано в документации API

...