Пример сводного отчета о результатах конвейера
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Запуск конвейера представляет собой одно выполнение конвейера. Во время выполнения конвейер обрабатывается, а агенты обрабатывают одно или несколько заданий. К результатам относятся успешное выполнение, сбой, отмена и частично успешное выполнение. Чтобы создать отчеты, показывающие результаты выполнения конвейера, необходимо запросить PipelineRuns entity set
.
В этой статье приведены несколько запросов и инструкций по созданию отчета для получения количества запусков для различных результатов конвейера.
На следующем рисунке показан пример сводного отчета о результатах.
Внимание
Интеграция Power BI и доступ к веб-каналу OData службы Аналитики общедоступны для Azure DevOps Services и Azure DevOps Server 2020 и более поздних версий. Примеры запросов, указанные в этой статье, допустимы только для Azure DevOps Server 2020 и более поздних версий, и зависят от версии 3.0-preview или более поздней версии. Мы рекомендуем вам использовать эти запросы и предоставлять нам отзывы.
Необходимые компоненты
- Доступ. Быть членом проекта с по крайней мере базовым доступом.
- Разрешения. По умолчанию члены проекта имеют разрешение на запросы аналитики и создания представлений.
- Дополнительные сведения о других предварительных требованиях для включения служб и функций и общих действий отслеживания данных см. в разделе "Разрешения и предварительные требования для доступа к аналитике".
Примечание.
В этой статье предполагается, что вы читаете обзор примеров отчетов с помощью запросов OData и имеет базовое представление о Power BI.
Примеры запросов
Вы можете использовать следующие запросы набора сущностей для создания различных, но аналогичных отчетов о результатах PipelineRuns
конвейера.
Примечание.
Сведения о доступных свойствах для фильтрации или отчета см . в справочнике по метаданным для Azure Pipelines. Вы можете отфильтровать запросы или возвращать свойства с помощью любого из Property
значенийEntityType
, доступных в разделе EntitySet
или NavigationPropertyBinding Path
значениях. Каждое EntitySet
соответствует .EntityType
Дополнительные сведения о типе данных каждого значения см. в метаданных, предоставленных для соответствующего EntityType
значения.
Длительность конвейера для именованного конвейера
Следующие запросы возвращают выполнение конвейера для определенного конвейера с указанной даты начала.
Скопируйте и вставьте следующий запрос Power BI непосредственно в окно получения пустого запроса данных>. Дополнительные сведения см. в разделе "Обзор примеров отчетов с помощью запросов OData".
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedDate ge {startdate} "
&") "
&"/aggregate( "
&"$count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount , "
&"CanceledCount with sum as CanceledCount "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Строки подстановки и разбивка запросов
Замените следующие строки значениями. Не включайте скобки в подстановку {} . Например, если вашей организации присвоено имя Fabrikam, замените {organization}
на Fabrikam
, а не {Fabrikam}
.
{organization}
— Название организации{project}
— Имя проекта группы{pipelinename}
— Имя конвейера. Пример:Fabrikam hourly build pipeline
{startdate}
— Дата начала отчета. Формат: ГГГГ-ММ-ДДЗ. Пример:2021-09-01Z
представляет 1 сентября 2021 г. Не заключайте в кавычки или скобки и используйте две цифры как для месяца, так и для даты.
Разбивка запросов
В следующей таблице описана каждая часть запроса.
Часть запроса
Description
$apply=filter(
Предложение Start filter()
.
Pipeline/PipelineName eq '{pipelinename}'
Возвращаемый конвейер выполняется для указанного конвейера.
and CompletedDate ge {startdate}
Возврат конвейера выполняется в указанной дате или после указанной даты.
)
Предложение Close filter()
/aggregate(
Предложение start aggregate
для всех конвейеров выполняется в соответствии с критериями фильтра.
$count as TotalCount,
Подсчитывать общее число запусков в качестве TotalCount
.
SucceededCount with sum as SucceededCount ,
Подсчитывать число успешных запусков в качестве SucceededCount
.
FailedCount with sum as FailedCount,
Подсчитывать количество неудачных запусков в качестве FailedCount
.
PartiallySucceededCount with sum as PartiallySucceededCount ,
Подсчитывать число частично успешных запусков в качестве PartiallySucceededCount
.
CanceledCount with sum as CanceledCount
Подсчитывать число отмененных запусков как CanceledCount
.
)
Закрыть aggregate()
предложение.
Сводка результатов выполнения конвейера для определенного идентификатора конвейера
Конвейеры можно переименовать. Чтобы отчеты Power BI не прерывались при изменении имени конвейера, используйте идентификатор конвейера, а не его имя. Идентификатор конвейера можно получить из URL-адреса страницы выполнения конвейера.
https://dev.azure.com/{organization}/{project}/_build?definitionId={pipelineid}
Следующие запросы возвращают выполнение конвейера для определенного идентификатора конвейера и с указанной даты начала.
Скопируйте и вставьте следующий запрос Power BI непосредственно в окно получения пустого запроса данных>. Дополнительные сведения см. в разделе "Обзор примеров отчетов с помощью запросов OData".
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
&"$apply=filter( "
&"PipelineId eq {pipelineId} "
&"and CompletedDate ge {startdate} "
&") "
&"/aggregate( "
&"$count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount , "
&"CanceledCount with sum as CanceledCount "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Сводка результатов выполнения конвейера, отфильтрованной по ветви
Чтобы просмотреть сводку результатов конвейера для определенной ветви, используйте следующие запросы. Чтобы создать отчет, выполните следующие действия.
- Развернитесь
Branch
вBranch.BranchName
- Изменение типа данных столбца
- Создание отчета диаграммы Кольцевой диаграммы
- Выберите срез в области "Визуализации" и добавьте
Branch.BranchName
его в поле среза - Выберите ветвь из среза, для которого необходимо просмотреть сводку результатов.
Скопируйте и вставьте следующий запрос Power BI непосредственно в окно получения пустого запроса данных>. Дополнительные сведения см. в разделе "Обзор примеров отчетов с помощью запросов OData".
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelinename}' "
&"and CompletedDate ge {startdate} "
&") "
&"/groupby( "
&"(Branch/BranchName), "
&"aggregate( "
&"$count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount , "
&"CanceledCount with sum as CanceledCount "
&")) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Сводка результатов выполнения конвейера, отфильтрованной по причине сборки
Вы можете просмотреть сводку результатов конвейера только по определенным причинам сборки (вручную или пакетной обработки, запрос на вытягивание и т. д.). Чтобы создать отчет, выполните следующие действия.
- Изменение типа данных столбца
- Создание отчета диаграммы Кольцевой диаграммы
- Выберите срез в области "Визуализации" и добавьте
Pipeline.PipelineName
его в поле среза - Выберите конвейер из среза, для которого необходимо просмотреть сводку результатов.
Скопируйте и вставьте следующий запрос Power BI непосредственно в окно получения пустого запроса данных>. Дополнительные сведения см. в разделе "Обзор примеров отчетов с помощью запросов OData".
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelinename}' "
&"and CompletedDate ge {startdate} "
&") "
&"/groupby( "
&"(RunReason), "
&"aggregate( "
&"$count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount , "
&"CanceledCount with sum as CanceledCount "
&")) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Сводка результатов для всех конвейеров проектов
Может потребоваться просмотреть сводку результатов конвейера для всех конвейеров проекта в одном отчете. Чтобы создать отчет, выполните следующие действия.
- Развернитесь
Pipeline
вPipeline.PipelineName
- Изменение типа данных столбца
- Создание отчета диаграммы Кольцевой диаграммы
- Выберите срез в области "Визуализации" и добавьте
Pipeline.PipelineName
его в поле среза - Выберите конвейер из среза, для которого необходимо просмотреть сводку результатов.
Дополнительные сведения см. в сводке результатов для всех примеров отчета конвейеров .
Скопируйте и вставьте следующий запрос Power BI непосредственно в окно получения пустого запроса данных>. Дополнительные сведения см. в разделе "Обзор примеров отчетов с помощью запросов OData".
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
&"$apply=filter( "
&"CompletedDate ge {startdate} "
&") "
&"/groupby( "
&"(Pipeline/PipelineName), "
&"aggregate( "
&"$count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount , "
&"CanceledCount with sum as CanceledCount "
&")) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
(Необязательно) Переименование запроса
Вы можете переименовать метку запроса по умолчанию, query1, в что-то более понятное. Просто введите новое имя в области параметров запроса.
Изменение типа данных столбца
В Редактор Power Query выберите TotalCount
столбец, а затем выберите тип данных в меню "Преобразование" и выберите "Целое число". Дополнительные сведения об изменении типа данных см. в разделе "Аналитика преобразования" для создания отчетов Power BI, преобразования типа данных столбца.
(Необязательно) Переименование полей столбцов
Можно переименовать поля столбцов. Например, можно переименовать столбец Pipeline.PipelineName
в Pipeline Name
,или TotalCount
в Total Count
. Сведения о том, как это сделать, см. в разделе "Переименовать поля столбцов".
Закройте запрос и примените изменения
Завершив все преобразования данных, нажмите кнопку "Закрыть" и "Применить " из меню "Главная ", чтобы сохранить запрос и вернуться на вкладку "Отчет " в Power BI.
Создание отчета диаграммы Кольцевой диаграммы
В Power BI в разделе "Визуализации" выберите отчет Donut .
Добавьте следующие поля в значения в указанном порядке. Щелкните правой кнопкой мыши каждое поле и убедитесь, что выбрано значение Sum .
CanceledCount
PartiallySucceededCount
.SucceededCount
FailedCount
Чтобы изменить заголовок отчета, выберите значок "Формат визуальной кисти" в области "Визуализации ", выберите "Общие", разверните "Заголовок" и замените существующий текст.
На следующем рисунке показан итоговый отчет.