Запрос данных тренда
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Изучение тенденций в данных и создание сравнения за период являются важными аспектами анализа отчетов и данных. Аналитика поддерживает эти возможности.
Заметка
Служба Аналитики автоматически включается и поддерживается в рабочей среде для всех Служб Azure DevOps Services.
Интеграция Power BI и доступ к веб-каналу OData службы аналитики общедоступно. Мы рекомендуем вам использовать его и дать нам отзыв.
Доступные данные зависят от версий. Последняя поддерживаемая версия v2.0
, а последняя предварительная версия v4.0-preview
. Дополнительные сведения см. в разделе версионирования API OData .
Заметка
Служба Аналитики автоматически устанавливается и поддерживается в рабочей среде для всех новых коллекций проектов для Azure DevOps Server 2020 и более поздних версий. Интеграции Power BI и доступ к каналу OData службы аналитики доступны всем. Мы рекомендуем вам использовать его и дать нам отзыв. При обновлении с Azure DevOps Server 2019 можно установить службу Аналитики во время обновления.
Доступные данные зависят от версий. Последняя поддерживаемая версия v2.0
, а последняя предварительная версия v4.0-preview
. Для получения дополнительной информации см. версионирование OData API .
Заметка
Служба Аналитики доступна в предварительной версии для Azure DevOps Server 2019. Вы можете включить или установить его для коллекции проектов. интеграции Power BI и доступ к веб-каналу OData службы аналитики доступны в предварительной версии. Мы рекомендуем вам использовать его и дать нам отзыв.
Доступные данные зависят от версий. Последняя поддерживаемая версия v2.0
, а последняя предварительная версия v4.0-preview
. Для получения дополнительной информации см. в разделе версионирования API OData .
Данные тренда предоставляются в наборах сущностей WorkItemSnapshot и WorkItemBoardSnapshot. Они создаются так, что каждый рабочий элемент, с момента его создания до сегодняшнего дня, существует для каждого дня. Для организации с одним рабочим элементом, созданным год назад, в этой сущности имеется 365 строк. Для крупных проектов использование этих сущностей вместе с клиентскими средствами может быть непрактичным.
Что такое решение? Используйте расширения агрегирования.
С помощью расширений агрегирования OData можно возвращать агрегированные данные из Azure DevOps, которые способствуют созданию отчетов. Например, можно показать тенденцию появления ошибок в течение марта. Тенденции в количестве ошибок являются распространенной и важной частью управления любым проектом, чтобы вы могли немедленно их использовать.
Заметка
Примеры, показанные в этом документе, основаны на URL-адресе Azure DevOps Services. При необходимости замените URL-адрес сервера Azure DevOps.
https://{servername}:{port}/tfs/{OrganizationName}/{ProjectName}/_odata/{version}/
Необходимые условия
Категория | Требования |
---|---|
Уровни доступа |
-
член проекта. — Как минимум базовый доступ . |
Права доступа | По умолчанию члены проекта имеют разрешение на выполнение запросов к аналитике и создание представлений. Дополнительные сведения о других предварительных требованиях для включения служб и функций и общих действий отслеживания данных см. в разделе Разрешения и предварительные требования для доступа к аналитике. |
Создание базового запроса для данных тренда
Чтобы эффективно запрашивать таблицу WorkItemSnapshot, выполните следующие основные требования:
- Отфильтруйте данные по дате.
- Группировать данные по дате как минимум. В противном случае ответ содержит предупреждение.
Запрос на создание отчета о тренде ошибки выглядит следующим образом:
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
$apply=
filter(DateValue ge 2016-03-01Z and DateValue le 2016-03-31Z and WorkItemType eq 'Bug')/
groupby((DateValue,State), aggregate($count as Count))
&$orderby=DateValue
Он возвращает результат, аналогичный следующему примеру:
{
"@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
"value": [
{
"@odata.id": null,
"State": "Active",
"DateValue": "2016-03-01T00:00:00-08:00",
"Count": 2666
},
{
"@odata.id": null,
"State": "Closed",
"DateValue": "2016-03-01T00:00:00-08:00",
"Count": 51408
}
]
}
Этот запрос выводит не более 31 * (number of bug states)
. Ошибка по умолчанию имеет три состояния:
- Активный
- Решено
- Закрытый
В большинстве случаев этот запрос возвращает 93 строки независимо от того, сколько тысяч записей фактически существует. Она обеспечивает гораздо более компактную форму возврата данных.
Рассмотрим вариант этого примера. Вы хотите увидеть тенденцию багов для итерации или выпуска, который начинается с одной итерации и заканчивается другой.
Чтобы создать этот запрос, сделайте следующее:
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
$apply=
filter(WorkItemType eq 'Bug')/
filter(Iteration/IterationName eq 'Sprint 99')/
filter(DateValue ge Iteration/StartDate and (Iteration/EndDate eq null or DateValue le Iteration/EndDate))/
groupby((DateValue, State), aggregate($count as Count))
&$orderby=DateValue
Он возвращает результат, аналогичный следующему примеру:
{
"@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
"value": [
{
"@odata.id": null,
"State": "Active",
"DateValue": "2016-04-04T00:00:00-07:00",
"Count": 320
},
{
"@odata.id": null,
"State": "Closed",
"DateValue": "2016-04-04T00:00:00-07:00",
"Count": 38
}
]
}
В этом запросе есть два ключевых отличия. Мы добавили условие фильтра, чтобы отфильтровать данные для определенной итерации, и теперь даты сравниваются с датами начала и окончания итерации, а не с жестко запрограммированными датами.
Заметка
Если ваш запрос к таблицам снапшотов не использует агрегирование, в ответе отображается предупреждение: "Указанный запрос не включает оператор $select
или $apply
, который рекомендуется для всех запросов".
Связанные статьи
- создание статистических запросов к данным для подсчета и анализа групп связанных данных.