Отчет Power BI с использованием Azure DevOps в качестве источника данных перестал работать - PullRequest
1 голос
/ 13 февраля 2020

Через пару месяцев go я создал отчет Power BI, используя нашу компанию Azure Конвейер сборки DevOps в качестве источника данных (используя odata v3.0-preview). Все работало довольно хорошо, пока месяц или около того go не начал обновлять sh данные отчета. После расследования может показаться, что некоторые значения больше не могут быть извлечены, но я не могу найти объявление от Microsoft о том, что вы больше не сможете получать данные из этих источников?

Мои Azure вызовы Devops OData пытаются получить следующие три фрагмента информации: BuildPipelines , Builds и TestRuns (все они были работает правильно). Вот несколько примеров того, как был создан каждый вызов:

  • https://analytics.dev.azure.com/ {организация} / {проект} / _ odata / v3.0-preview / BuildPipelines? $ Filter = ProjectSK% 20eq% 20test & $ select = BuildPipelineSK, BuildPipelineName
  • https://analytics.dev.azure.com/ {organization} / {project} / _ odata / v3.0-preview / Builds? $ Filter = ProjectSK% 20eq % 20test & $ select = BuildPipelineSK, BuildSK, BuildOutcome, StartedDate, BuildNumber
  • https://analytics.dev.azure.com/ {organization} / {project} / _ odata / v3.0-preview / TestRuns? $ Filter = ProjectSK% 20eq% 20test & $ select = BuildSK, RunDurationSeconds, ResultCount, ResultFailCount, ResultPassCount

Вышеуказанные вызовы прерываются в браузере через рабочий стол Power BI и онлайн-Power Power.

любой помощь в этом отношении будет принята с благодарностью.

Вот пример отчета, который я создал с использованием вышеуказанных источников данных:

enter image description here

1 Ответ

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

Привет, Бернард. Думаю, я могу тебе помочь.

Я также неплохо использую канал oData, и в конце декабря я получил электронное письмо от менеджера программы Azure DevOps Analytics о следующих изменениях. Они появились в начале января. Я искал любой блог \ объявление, но не смог найти ни одного, так что, думаю, я просто поделюсь тем, что знаю здесь.

Я бы также добавил, что вы можете проверить действительную схему в этой конечной точке https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/$metadata

Электронная почта от менеджера программы находится ниже линии.


Сводка обновлений :

  1. Все наборы сущностей и свойства сущностей с именами, начинающимися с BuildPipeline, будут переименованы, чтобы начинаться с Pipeline
  2. Все множества сущностей и свойства сущностей с именами, начинающимися с Build, будут переименованы, чтобы начинаться с PipelineRun
  3. Набор сущностей BuildTaskResults будет переименован в PipelineRunActivityResults
  4. Набор сущностей BuildPipelineTasks будет переименован в PipelineTasks
  5. Все наборы сущностей Release удалены, а их свойства объединены в наборы тестовых объектов. Следующие наборы сущностей удаляются. Выпуск трубопроводов б. ReleaseEnvironments c. ReleaseStages d. Выпуски На свойства этих наборов сущностей выпуска теперь можно ссылаться в запросах к наборам сущностей Test, напрямую используя свойство сущности. Например, использование ReleasePipeline / ReleasePipelineId в запросах объекта Test можно заменить на ReleasePipelineId.

Подробности: enter image description here enter image description here

Примеры: более старый запрос этого https://analytics.dev.azure.com/{orgname}/{projectName}/_odata/v3.0-preview/Builds?$apply=filter(BuildPipelineId eq 381)/aggregate($count as Count)

станет https://analytics.dev.azure.com/{orgname}/{projectName}/_odata/v3.0-preview/PipelineRuns?$apply=filter(PipelineId eq 381)/aggregate($count as Count)

Обработка наборов сущностей выпуска и свойств сущности

Azure DevOps Analytics содержала только эти версии записи, которые были связаны с TestRuns и никогда не содержали завершенную дату выпуска. Все эти наборы сущностей Release удаляются, а их свойства объединяются в наборы сущностей Test. Например, запросы, использующие наборы сущностей Release напрямую, будут

https://analytics.dev.azure.com/{orgname} /{projectName}/_odata/v3.0-preview/ReleasePipelines/$count

https://analytics.dev.azure.com/{orgname} /{projectName}/_odata/v3.0-preview/ReleaseEnvironments/$count

https://analytics.dev.azure.com/{orgname} /{projectName}/_odata/v3.0-preview/ReleaseStages/$count

https://analytics.dev.azure.com/{orgname} /{projectName}/_odata/v3.0-preview/Releases/$count

Но вам не нужно беспокоиться, если свойство сущности release использовалось в каком-либо тестовом запросе. Поскольку свойства выпуска объединяются в наборы сущностей Test, вы должны использовать свойство напрямую, без навигации. Например, в тестовом объекте, если свойство объекта деблокирования в настоящее время используется как ReleasePipeline / ReleasePipelineId, его следует заменить на ReleasePipelineId. Этот шаблон применяется ко всем свойствам сущности Release, используемым в сущностях Test.

Примеры: более старый запрос

https://analytics.dev.azure.com/{orgname} /{projectName} /_odata/v3.0-preview/TestRuns?$apply=filter(ReleasePipeline/ReleasePipelineId eq 381)/aggregate($count as Count)

станет

https://analytics.dev.azure.com/{orgname} /{projectName} /_odata/v3.0-preview/TestRuns?$apply=filter(ReleasePipelineId eq 381)/aggregate($count as Count) 
...