Рекомендации по аналитике
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Аналитика — это платформа отчетов для Azure DevOps, которая позволяет получать аналитические сведения от данных и принимать решения на основе данных. Аналитика оптимизирована для быстрого чтения и агрегаций на стороне сервера, а также предоставляет различные инструменты для визуализации и анализа данных. В этой статье мы поделимся некоторыми рекомендациями по использованию Аналитики в Azure DevOps.
Категория | Требования |
---|---|
Уровни доступа |
-
член проекта. — По крайней мере базовый доступ уровня . |
Права доступа | По умолчанию члены проекта имеют разрешение выполнять запросы к аналитике и создавать представления. Дополнительные сведения о других предварительных требованиях для включения служб и функций и общих действий отслеживания данных см. в разделе "Разрешения и предварительные требования для доступа к аналитике". |
- Если вы являетесь разработчиком расширений, ознакомьтесь с рекомендациями по запросам OData Analytics.
Знакомство с метаданными Аналитики
Запросите метаданные Аналитики, чтобы получить представление о типах сущностей, наборах сущностей, свойствах и перечисленных списках. Дополнительные сведения см. в статье Запрос к службе аналитики, метаданные службы аналитики OData и Справочник по сущностям и свойствам для Azure Boards.
Структура запроса для возврата необходимых данных
Чтобы запросить минимальный набор данных, необходимый для создания отчета, следуйте следующим рекомендациям.
- Выберите набор сущностей, поддерживающий отчет, который хотите создать.
- Указание частей запроса в порядке их выполнения
- Ограничение столбцов, которые вы запрашиваете в запросе
- Создание предварительных запросов
- Ограничение запросов к проектам, к которых у вас есть доступ
Выберите набор сущностей для поддержки отчета
Хотя в модели данных аналитики поддерживается несколько EntitySets
, для создания отчетов используется лишь несколько.
EntitySets
используется для создания отчетов, которые делятся на три категории:
-
Current: содержит сведения о текущей конфигурации
EntityTypes
, которая содержится вEntitySet
. - Моментальный снимок: составные сущности, которые объединяют исторические и связанные с датой данные. Сущности моментальных снимков предназначены для поддержки агрегированных отчётов.
-
Версия: Содержит исторические сведения. Например,
WorkItemRevision
сохраняет данные об истории рабочих элементов.
Ниже приведен краткий справочник по EntityTypes для указания поддержки отчетов. Описание каждого из этих EntityTypes см. в разделе "Модель данных для аналитики".
Данные Azure DevOps | Текущий | Снимок | Исправление |
---|---|---|---|
Azure Boards | WorkItems |
WorkItemSnapshot WorkItemBoardSnapshot |
WorkItemRevisions |
Azure Pipelines | Pipelines PipelineTasks |
ParallelPipelineJobsSnapshot PipelineRuns , PipelineRunActivityResults |
|
Azure Pipelines и Тесты | TestResultsDaily |
TestRuns |
|
Планы тестирования Azure | Tests TestConfiguration TestPoints WorkItems |
TestResultsDaily TestPointHistorySnapshot |
Указание частей запроса в порядке их выполнения
Рекомендуемый порядок для различных частей запроса заключается в том, чтобы указать их в следующем порядке, который является порядком их оценки. Описание каждой части запроса см. в разделе "Запрос службы аналитики", "Параметры запроса".
$apply
$filter
$orderby
$expand
$select
$skip
$top
Все запросы должны содержать условие $apply
или условие $select
, в противном случае может появиться предупреждающее сообщение.
Ограничение столбцов, которые вы запрашиваете в запросе
Чтобы указать столбцы данных для возврата, используйте предложение $select
. При настройке рабочие элементы могут иметь множество полей, связанных с ними. Чем больше свойств или полей, на которые ссылается запрос, тем дороже обработка. Рассмотрим отчет, который нужно создать, и убедитесь, что запрашиваются только необходимые поля.
Например, чтобы вернуть идентификатор, тип рабочего элемента, название и состояние для отфильтрованного набора рабочих элементов, укажите следующее $select
предложение: $select=WorkItemId, WorkItemType, Title, State
Чтобы просмотреть список свойств и их соответствующие имена полей, см. Справочник по сущностям и свойствам для Azure Boards.
Создание предварительных запросов
Запросы предварительной версии — это запросы, возвращающие одну запись или небольшое подмножество записей. Создав предварительный просмотр запроса, вы можете уточнить запрос, чтобы убедиться, что запрашиваются необходимые данные. Начав с запроса с минимальными требованиями, вы можете расширять его, чтобы убедиться в том, что указываете нужные записи и требуемые данные столбцов.
С помощью этой apply=aggregate($count as Count)
функции можно определить количество запрашиваемых записей. Например, следующий синтаксис запрашивает количество рабочих элементов для проекта Fabrikam Fibre .
https://analytics.dev.azure.com/content-learn/Content/_odata/v4.0-preview/WorkItems? $apply=aggregate($count as Count)
Ответ возвращает в общей сложности 1415 рабочих элементов.
{
"@odata.context": "https://analytics.dev.azure.com/fabrikam/Fabrikam Fbier/_odata/v4.0-preview/$metadata#WorkItems(Count)",
"value": [
{
"@odata.id": null,
"Count": 1415
}
]
}
Ограничение запросов к проектам, к которых у вас есть доступ
Запросы области проекта возвращают сведения о одном проекте, а запросы области организации предназначены для возврата сведений, пересекающих границы проекта. Для запросов в области организации требуются более широкие разрешения пользователей или осторожные ограничения области, чтобы убедиться, что запрос не заблокирован из-за отсутствия разрешений проекта.
Если у вас есть доступ к одному или нескольким проектам, но не ко всем проектам, и вы отправляете запрос в области организации, вы получите сообщение об ошибке.
"VS403496: The query results include data in one or more projects for which you do not have access. Add one or more projects filters to specify the project(s) you have access to in 'WorkItems' entity. If you're using $expand or navigation properties, project filter is required for those entities. More information can be found here: https://go.microsoft.com/fwlink/?LinkId=786441."
Дополнительные сведения см. в разделе "Запросы в области проекта и организации".
Просмотр предупреждений и сообщений об ошибках
Аналитика проверяет каждый запрос, который он получает за нарушения своих правил. Он возвращает предупреждающие сообщения при обнаружении нарушения. Рекомендуется просмотреть эти сообщения, чтобы исправить или улучшить структуру запроса.
Ограничения скорости и регулирование
Запросы, сделанные в Аналитику для Azure DevOps Services, подвергаются ограничениям скорости. Если отправляется слишком много запросов, требующих возврат больших объемов данных в короткий срок, служба может подвергаться ограничению. Для получения дополнительной информации см. Ограничения скорости и использования.
Вы можете просмотреть использование службы и отдельных лиц, перейдя в Параметры организации> и Использование, используя фильтры. Например, на следующем рисунке показано использование Jamal Hartnett в службе Аналитики.