Запрос на создание тенденции по данным
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
. Дополнительные сведения см. в разделе "Управление версиями API OData".
Примечание.
Служба Аналитики доступна в предварительной версии для 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, которое рекомендуется для всех запросов".
Связанные статьи
- Создавайте статистические запросы данных для подсчета и анализа групп связанных данных.