Поделиться через


Пример сводного отчета о результатах конвейера

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Запуск конвейера представляет собой одно выполнение конвейера. Во время выполнения конвейер обрабатывается, а агенты обрабатывают одно или несколько заданий. К результатам относятся успешное выполнение, сбой, отмена и частично успешное выполнение. Чтобы создать отчеты, показывающие результаты выполнения конвейера, необходимо запросить PipelineRuns entity set.

В этой статье приведены несколько запросов и инструкций по созданию отчета для получения количества запусков для различных результатов конвейера.

На следующем рисунке показан пример сводного отчета о результатах.

Снимок экрана: сводный отчет о результатах конвейеров Power BI.

Внимание

Интеграция 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

Сводка результатов выполнения конвейера, отфильтрованной по ветви

Чтобы просмотреть сводку результатов конвейера для определенной ветви, используйте следующие запросы. Чтобы создать отчет, выполните следующие действия.

Скопируйте и вставьте следующий запрос 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

Сводка результатов выполнения конвейера, отфильтрованной по причине сборки

Вы можете просмотреть сводку результатов конвейера только по определенным причинам сборки (вручную или пакетной обработки, запрос на вытягивание и т. д.). Чтобы создать отчет, выполните следующие действия.

Скопируйте и вставьте следующий запрос 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

Сводка результатов для всех конвейеров проектов

Может потребоваться просмотреть сводку результатов конвейера для всех конвейеров проекта в одном отчете. Чтобы создать отчет, выполните следующие действия.

Дополнительные сведения см. в сводке результатов для всех примеров отчета конвейеров .

Скопируйте и вставьте следующий запрос 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 BI, переименование запроса.

Изменение типа данных столбца

В Редактор Power Query выберите TotalCount столбец, а затем выберите тип данных в меню "Преобразование" и выберите "Целое число". Дополнительные сведения об изменении типа данных см. в разделе "Аналитика преобразования" для создания отчетов Power BI, преобразования типа данных столбца.

(Необязательно) Переименование полей столбцов

Можно переименовать поля столбцов. Например, можно переименовать столбец Pipeline.PipelineName в Pipeline Name,или TotalCount в Total Count. Сведения о том, как это сделать, см. в разделе "Переименовать поля столбцов".

Закройте запрос и примените изменения

Завершив все преобразования данных, нажмите кнопку "Закрыть" и "Применить " из меню "Главная ", чтобы сохранить запрос и вернуться на вкладку "Отчет " в Power BI.

Снимок экрана: параметр Редактор Power Query Закрыть и применить.

Создание отчета диаграммы Кольцевой диаграммы

  1. В Power BI в разделе "Визуализации" выберите отчет Donut .

    Снимок экрана: выбор полей визуализации для всех отчетов о выполнении конвейера.

  2. Добавьте следующие поля в значения в указанном порядке. Щелкните правой кнопкой мыши каждое поле и убедитесь, что выбрано значение Sum .

    • CanceledCount
    • PartiallySucceededCount.
    • SucceededCount
    • FailedCount
  3. Чтобы изменить заголовок отчета, выберите значок "Формат визуальной кисти" в области "Визуализации ", выберите "Общие", разверните "Заголовок" и замените существующий текст.

    Снимок экрана: область визуализаций, параметры формата отчета, изменение заголовка.

    На следующем рисунке показан итоговый отчет.

    Снимок экрана: сводный отчет о результатах конвейеров Power BI.