Доступ к критериям описания и принятия в пользовательских историях AzureDevops из PowerBI через API oData - PullRequest
2 голосов
/ 02 февраля 2020

Я пытаюсь получить поля Описание и Критерии принятия из типа рабочего элемента пользовательской истории из Azure DevOps из PowerBI.

Я попробовал канал oData, а также настроил представление аналитики и просмотрел онлайн-документацию, но все безрезультатно.

Кому-нибудь удавалось когда-либо успешно это делать? (Что я на самом деле хочу сделать, так это установить sh существование и / или длину обоих полей).

1 Ответ

1 голос
/ 02 февраля 2020

Поля «Описание» и «Критерии принятия» недоступны через фид oData.

Если вы хотите узнать, что доступно, проверьте модель сущности по этому URL.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v3.0-preview/$metadata

Что вы можете сделать, это дополнить канал OData в PowerBI вызовами к Azure DevOps Rest API, чтобы получить поля Описание и Критерии принятия. Вы можете сделать это с помощью функций PowerBI.

Взгляните на эти две статьи Колина Дембовского и Вутера де Корта , чтобы понять, что возможно. Они включают в себя несколько хороших примеров дополнения данных фида вызовами Rest.

Отредактировано с помощью примера для начала:

Ваша пользовательская функция может выглядеть следующим образом

let
    Source = (project as text, workItemId as text) =>
let
    Source = Json.Document(Web.Contents("https://dev.azure.com/{ORG-NAME}/" & project & "/_apis/wit/workitems/" & workItemId & "?api-version=5.1"))
in
    Source

Затем ваш запрос с использованием канала OData и вызова функции

let
    Source = OData.Feed("https://analytics.dev.azure.com/{ORG-NAME}/{PROJECTNAME}/_odata/v3.0-preview", null, [Implementation="2.0"]),
    WorkItems_table = Source{[Name="WorkItems",Signature="table"]}[Data],
    #"Changed Type1" = Table.TransformColumnTypes(WorkItems_table,{{"WorkItemId", type text}}),
    #"Invoked Custom Function" = Table.AddColumn(#"Changed Type1", "Description", each GetWorkItemAdditionalData([ProjectName], [WorkItemId])),
    #"Expanded Description" = Table.ExpandRecordColumn(#"Invoked Custom Function", "Description", {"fields"}, {"Description.fields"}),
    #"Expanded Description.fields" = Table.ExpandRecordColumn(#"Expanded Description", "Description.fields", {"System.Description", "Microsoft.VSTS.Common.AcceptanceCriteria"}, {"Description.fields.System.Description", "Description.fields.Microsoft.VSTS.Common.AcceptanceCriteria"})
in
    #"Expanded Description.fields"
...