Пример отчета о тренде скорости передачи конвейера
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
В этой статье рассказывается, как создать отчет, показывающий тенденцию ежедневной проходимости конвейера. Процент успешных запусков конвейера определяется как отношение успешных запусков к общему числу запусков конвейера. Он похож на диаграмму тренда уровня успешности отчета о пропускной способности конвейера. На следующем рисунке показан пример такой тенденции.
Внимание
Интеграция 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
или NavigationPropertyBinding Path
, которые доступны с помощью EntitySet
значений. Каждое 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} "
&"and CanceledCount ne 1 "
&") "
&"/groupby( "
&"(CompletedOn/Date), "
&"aggregate "
&"($count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount)) "
&"/compute( "
&"SucceededCount mul 100.0 div TotalCount as PassRate, "
&"FailedCount mul 100.0 div TotalCount as FailRate, "
&"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
&"&$orderby=CompletedOn/Date asc "
,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(
Начать filter()
предложение.
Pipeline/PipelineName eq '{pipelinename}'
Возвращаемый конвейер выполняется для указанного конвейера.
and CompletedDate ge {startdate}
Возврат конвейера выполняется в указанной дате или после указанной даты.
and CanceledCount ne 1
Опустить отмененные запуски конвейера.
)
Закрыть filter()
пункт.
/groupby(
Начать groupby()
пункт.
(CompletedOn/Date),
Группировать по дате завершения запуска конвейера.
aggregate
Начните условие aggregate
для всех запусков конвейера, соответствующих критериям фильтра.
($count as TotalCount,
Подсчитайте общее число запусков как TotalCount
.
SucceededCount with sum as SucceededCount ,
Подсчитывайте количество успешных запусков как SucceededCount
.
FailedCount with sum as FailedCount,
Подсчитывать количество неудачных запусков как FailedCount
.
PartiallySucceededCount with sum as PartiallySucceededCount))
Подсчитатйте число частично успешных запусков как PartiallySucceededCount
. Закройте aggregate()
и groupby()
предложения.
/compute(
Начало compute()
клаузы.
SucceededCount mul 100.0 div TotalCount as PassRate,
Вычислите PassRate
для каждого дня путем деления числа успешных запусков на общее количество запусков.
FailedCount mul 100.0 div TotalCount as FailRate,
Вычислите FailRate
каждый день путем деления числа неудачных запусков по количеству общих запусков.
PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate)
Вычислите PartiallySuccessfulRate
каждый день путем деления числа частично успешных запусков по количеству общих запусков.
&$orderby=CompletedOn/Date asc
Отсортируйте результаты в порядке возрастания по дате запуска конвейера.
Тенденция процента успешного прохождения для идентификатора конвейера
Конвейеры можно переименовать. Чтобы убедиться, что отчеты 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} "
&"and CanceledCount ne 1 "
&") "
&"/groupby( "
&"(CompletedOn/Date), "
&"aggregate "
&"($count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount)) "
&"/compute( "
&"SucceededCount mul 100.0 div TotalCount as PassRate, "
&"FailedCount mul 100.0 div TotalCount as FailRate, "
&"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
&"&$orderby=CompletedOn/Date asc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Тренд скорости передачи, фильтрация по ветви
Возможно, вы хотите просмотреть тенденцию скорости передачи конвейера только для определенной ветви . Чтобы создать отчет, выполните следующие дополнительные шаги, наряду с тем, что изложено в разделах Изменение типа данных столбца и Создание отчета линейной диаграммы.
- Расширьте
Branch
вBranch.BranchName
. - Выберите визуализацию Power BI Срез и добавьте
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} "
&"and CanceledCount ne 1 "
&") "
&"/groupby( "
&"(Branch/BranchName, CompletedOn/Date), "
&"aggregate "
&"($count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount)) "
&"/compute( "
&"SucceededCount mul 100.0 div TotalCount as PassRate, "
&"FailedCount mul 100.0 div TotalCount as FailRate, "
&"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
&"&$orderby=CompletedOn/Date asc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Тенденция передачи скорости, фильтрация по причине сборки
Вы можете просмотреть тенденцию скорости передачи конвейера только по определенным причинам сборки (вручную или пакетной обработки, запрос на вытягивание и т. д.). Чтобы создать отчет, выполните следующие дополнительные действия наряду с тем, что описано в разделе Изменение типа данных столбца и Создание отчета в виде линейной диаграммы.
- Выберите элемент Срез из панели Визуализации и добавьте
RunReason
в поле Среза. - Выберите конвейер из среза, для которого необходимо увидеть тенденцию скорости передачи.
Скопируйте и вставьте следующий запрос 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} "
&"and CanceledCount ne 1 "
&") "
&"/groupby( "
&"(RunReason, CompletedOn/Date), "
&"aggregate "
&"($count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount)) "
&"/compute( "
&"SucceededCount mul 100.0 div TotalCount as PassRate, "
&"FailedCount mul 100.0 div TotalCount as FailRate, "
&"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
&"&$orderby=CompletedOn/Date asc "
,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} "
&"and CanceledCount ne 1 "
&") "
&"/groupby( "
&"(Pipeline/PipelineName, CompletedOn/Date), "
&"aggregate "
&"($count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount)) "
&"/compute( "
&"SucceededCount mul 100.0 div TotalCount as PassRate, "
&"FailedCount mul 100.0 div TotalCount as FailRate, "
&"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
&"&$orderby=CompletedOn/Date asc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
(Необязательно) Переименование запроса
Вы можете переименовать метку запроса по умолчанию, query1, в что-то более понятное. Просто введите новое имя в панели параметров запроса.
Разверните столбцы в Power Query Редакторе
Перед созданием отчета необходимо развернуть столбцы, возвращающие записи, содержащие несколько полей. В этом случае вам нужно развернуть столбец CompletedOn
, чтобы преобразовать его в CompletedOn.Date
.
Чтобы узнать, как развернуть рабочие элементы, см. в разделе Преобразование данных Analytics для создания отчетов Power BI.
Изменение типа данных столбца
В меню "Преобразование" измените тип данных для следующих столбцов. Сведения о том, как это сделать, см. в разделе "Преобразование типа данных столбца".
-
PassRate
,FailRate
а такжеPartiallySuccessfulRate
столбцы десятичного числа. -
TotalCount
в Целое число.
(Необязательно) Переименование полей столбцов
Можно переименовать поля столбцов. Например, можно переименовать столбец Pipeline.PipelineName
в Pipeline Name
,или TotalCount
в Total Count
. Сведения о том, как это сделать, см. в разделе "Переименовать поля столбцов".
Закройте запрос и примените изменения
Завершив все преобразования данных, нажмите кнопку "Закрыть" и "Применить " из меню "Главная ", чтобы сохранить запрос и вернуться на вкладку "Отчет " в Power BI.
Создать отчет с линейным графиком
В Power BI, в разделе "Визуализации", выберите отчет с линейным графиком.
Добавьте
CompletedOn.Date
в оси X. Щелкните правой кнопкой мыши поле и выберите CompletedOn.Date.Добавьте
PassRate
на ось Y и щелкните правой кнопкой мыши, чтобы убедиться, что выбрана сумма.Чтобы изменить заголовок отчета, выберите значок "Формат визуальной кисти" в области "Визуализации ", выберите "Общие", разверните "Заголовок" и замените существующий текст.
На следующем рисунке показан итоговый отчет.