Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Модель данных аналитики для Azure DevOps состоит из наборов сущностей, члены которых (сущности) содержат свойства, которые можно фильтровать, агрегировать и суммировать. Кроме того, они содержат свойства навигации, связанные с сущностями друг с другом, предоставляя доступ к другим свойствам для выбора, фильтрации и группировки.
Примечание.
Служба Аналитики автоматически включается и поддерживается в рабочей среде для всех служб в Azure DevOps Services. Интеграция Power BI и доступ к веб-каналу OData службы Аналитики общедоступны. Рекомендуется использовать поток данных OData для анализа и оставить отзыв.
Доступные данные зависят от версий. Последняя поддерживаемая версия API OData — v2.0, а последняя предварительная версия — v4.0-preview. Дополнительные сведения см. в разделе "Управление версиями API OData".
Примечание.
Служба Аналитики автоматически устанавливается и поддерживается в рабочей среде для всех новых коллекций проектов для Azure DevOps Server 2020 и более поздних версий. Интеграция Power BI и доступ к веб-каналу OData службы Аналитики общедоступны. Рекомендуется использовать поток данных OData для анализа и оставить отзыв. При обновлении с Azure DevOps Server 2019 можно установить службу Аналитики во время обновления.
Доступные данные зависят от версий. Последняя поддерживаемая версия API OData — v2.0, а последняя предварительная версия — v4.0-preview. Дополнительные сведения см. в разделе "Управление версиями API OData".
Общие сведения о модели данных Аналитики
Служба Аналитики предоставляет структурированный подход к доступу к данным Azure DevOps через конечные точки OData. Эта модель данных позволяет:
- Запрос данных отслеживания работы: доступ к рабочим элементам, областям, итерациям и связанным метаданным
- Анализ сведений о конвейере: запрос данных о сборке и выпуске конвейера
- Отчет о результатах теста: доступ к данным о выполнении и планированию тестов
- Создание настраиваемых отчетов: создание отчетов Power BI и других решений аналитики
Пространства имен схемы
Модель данных Аналитики работает с двумя пространствами имен схемы:
Microsoft.VisualStudio.Services.Analytics.ModelMicrosoft.VisualStudio.Services.Analytics
Эти пространства имен упорядочивают сущности и определяют их структуру, обеспечивая согласованность шаблонов доступа к данным в разных функциях Azure DevOps.
Наборы сущностей и типы сущностей
Типы сущностей называются структурированными типами с ключом. Они определяют именованные свойства и связи каждой сущности. Ключ EntityType формируется из подмножества примитивных свойств, например, WorkItemId, PipelineId, ReleasePipelineId, а также из других свойств типа сущности.
Наборы сущностей — это именованные коллекции сущностей. Например, это набор сущностей, WorkItems содержащий WorkItem сущности. Ключ сущности однозначно идентифицирует сущность в наборе сущностей. Если несколько наборов сущностей используют один и тот же тип сущности, то одно и то же сочетание значений ключей может отображаться в нескольких наборах сущностей и определяет разные сущности, по одному для каждого набора сущностей, где отображается это сочетание ключей. У каждой из этих сущностей есть другой идентификатор сущности. Наборы сущностей предоставляют точки входа в модель данных.
Наборы сущностей описаны в метаданных OData и зависят от проекта. Полный список наборов сущностей, типов сущностей и свойств можно просмотреть, запросить метаданные OData для проекта. Сведения о том, как можно узнать, как создать запросы OData для аналитики.
Составные сущности
Составные сущности поддерживают определенные сценарии. Система создает их из простых сущностей, часто требует больше вычислительных ресурсов для создания и может возвращать более крупные результирующие наборы. Чтобы обеспечить оптимальную производительность и избежать ненужных регулирования, убедитесь, что вы запрашиваете правильную сущность для вашего сценария.
Например, объединяется и WorkItemSnapshot такоеWorkItemRevisions, Dates что каждая дата имеет одну редакцию для каждого рабочего элемента. Это представление поддерживает запросы OData, ориентированные на данные тренда для отфильтрованного набора рабочих элементов. Однако эту составную сущность не следует использовать для запроса текущего состояния рабочих элементов. Вместо этого следует использовать набор сущностей WorkItems для создания более быстрого выполнения запроса.
Аналогичным образом некоторые сущности могут содержать все исторические значения, а другие могут содержать только текущие значения.
WorkItemRevisions содержит все журналы рабочих элементов, которые не следует использовать в сценариях, где текущие значения являются интересующими.
Связи
Чтобы создать более сложные результаты запроса, можно объединить сущности с помощью связей. Вы можете использовать связи для расширения, фильтрации или сводки данных.
Некоторые свойства навигации приводят к одной сущности, а другие приводят к коллекции сущностей. На следующей схеме показаны сущности и их свойства навигации. Для ясности некоторые составные сущности и связи были опущены.
Общие сведения о связях сущностей
Модель данных Аналитики использует несколько типов связей:
- Один ко многим: одна родительская сущность относится к нескольким дочерним сущностям (например, одна область ко многим рабочим элементам)
- Многие к одному: несколько сущностей относятся к одной родительской сущности (например, многие WorkItems к одной области)
- Один к одному: одна сущность относится ровно к одной другой сущности.
- Многие ко многим: несколько сущностей связаны с несколькими другими сущностями (например, WorkItems и теги)
Ключи связи
Связи сущностей также представлены как внешние ключи, чтобы внешние инструменты могли присоединять сущности. Эти свойства имеют суффикс "SK" и являются целыми или целыми типами данных GUID. Свойства даты имеют соответствующие свойства ключа даты целочисленного числа со следующим форматом: ГГГГММДД.
Типы сущностей отслеживания работы и наборы сущностей
Следующие типы сущностей и наборы сущностей поддерживаются с указанными версиями API. Полный справочник см . в справочнике по метаданным отслеживания работы для Аналитики Boards Azure.
EntityType/EntitySet |
Описание | Версия 1.0 | Версия 2.0 | Версия 3.0 (предварительная версия) | версия 4.0-preview |
|---|---|---|---|---|---|
|
Область/ Области |
Путь к области рабочего элемента с свойствами для группировки и фильтрации по иерархии областей. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Итерация/ Итераций |
Пути итерации рабочего элемента с свойствами для группировки и фильтрации по иерархии итерации. | ✔️ | ✔️ | ✔️ | ✔️ |
|
BoardLocation/ BoardLocations |
Расположения ячеек доски, как определено столбец доски, пловец и разделение, включают исторические параметры доски. Описание каждого поля доски см. в полях рабочего процесса и доски. | ✔️ | ✔️ | ✔️ | ✔️ |
|
CalendarDate/ Финики |
Даты, используемые для фильтрации и группировки других сущностей с помощью связей. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Проект/ Проекты |
Все проекты, определенные для организации (облака) или коллекции проектов (локальная среда). | ✔️ | ✔️ | ✔️ | ✔️ |
|
Обработать/ Процессы |
Сведения о невыполненной работе, используемые для расширения или фильтрации рабочих элементов и типов рабочих элементов. Пример, использующий процессы для фильтрации отчета, см . в примере отчета о отслеживании требований. | ✔️ | ✔️ | ✔️ | |
|
Тег/ Теги |
Все теги рабочих элементов для каждого проекта. Пример, использующий теги для фильтрации отчета, см . в примере отчета о выпуске. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Команда / Рабочие группы |
Все команды, определенные для проекта. Пример, использующий Teams для фильтрации отчета, см. в разделе "Добавление среза команды" в отчет Power BI. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Пользователь/ Пользователи |
Сведения о пользователе, которые используются для расширения или фильтрации различных свойств рабочего элемента, например "Назначено" и "Создано". | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemBoardSnapshot/ WorkItemBoardSnapshot |
(Составной) Состояние каждого рабочего элемента на каждой дате календаря, включая расположение доски, используемое для создания отчетов о трендах. Пример отчета см . в примере отчета о накопительной схеме потоков (CF). | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemLink/ WorkItemLinks |
Связи между рабочими элементами, например дочерними, родительскими и связанными. Включает только последнюю редакцию ссылок, журнал не содержит. Гиперссылки не включены. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemRevision/ Изменения рабочих элементов |
Все исторические редакции рабочих элементов, включая текущую редакцию. Не включает удаленные рабочие элементы. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemSnapshot/ WorkItemSnapshot |
(Составной) Состояние каждого рабочего элемента на каждой дате календаря, используемое для поддержки отчетов о трендах. Пример отчета см . в примере отчета об ошибках. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Workitem/ WorkItems |
Текущее состояние рабочих элементов. Используется для поддержки отчетов о состоянии. Пример отчета см. в разделе "Свертка значений дочерних рабочих элементов" для родительского примера отчета. | ✔️ | ✔️ | ✔️ | ✔️ |
|
ПолеТипаРабочегоЭлемента/ ТипРаботыТипПоля |
Свойства рабочего элемента для каждого типа рабочего элемента и процесса. Используется для поддержки создания отчетов. | ✔️ | ✔️ | ✔️ | ✔️ |
Ключевые сущности учета работы для формирования отчетов
При создании отчетов рассмотрите эти основные наборы сущностей:
-
Текущие отчеты о состоянии: использование
WorkItemsдля текущего состояния рабочего элемента -
Исторические отчеты о трендах: использование
WorkItemSnapshotдля анализа тенденций с течением времени -
Подробное отслеживание изменений: использование
WorkItemRevisionsдля комплексной истории -
Отчеты, относящиеся к доске: использование
WorkItemBoardSnapshotдля анализа доски Kanban
Типы сущностей конвейеров и наборы сущностей
Следующие типы сущностей и наборы сущностей поддерживаются в версии 3.0-preview или версии 4.0-preview Analytics. Полный справочник см. в справочнике по метаданным конвейера.
| ТипСущности/НаборСущностей | Описание | Версия 3.0 (предварительная версия) | версия 4.0-preview |
|---|---|---|---|
|
Ветвь/ Ветви |
Основные сведения о ветвях, используемых в тестах или конвейерах. Пример отчета см . в примере отчета о состоянии хода выполнения. | ✔️ | ✔️ |
|
ParallelPipelineJobsSnapshot/ ParallelPipelineJobsSnapshot |
(Составной) Поддерживает понимание использования параллельных конвейеров. Дополнительные сведения о параллельных тестах конвейера см. в статье "Параллельное выполнение тестов" с помощью задачи "Тест Visual Studio". | ✔️ | |
|
Конвейер/ Конвейеры |
Свойства конвейера. | ✔️ | ✔️ |
|
PipelineJob/ Задания конвейера |
Отдельные результаты выполнения для определенного задания в рамках выполнения конвейера. | ✔️ | ✔️ |
|
PipelineRun/ PipelineRuns |
Сведения о выполнении конвейеров. Пример отчета см . в примере отчета о скорости передачи конвейера. | ✔️ | ✔️ |
|
PipelineRunActivityResult/ PipelineRunActivityResults |
Объединенный журнал всех этапов, шагов, заданий и задач в рамках определенного выполнения конвейера. Пример отчета см . в примере отчета о длительности задачи конвейера. | ✔️ | ✔️ |
|
PipelineTask/ PipelineTasks |
Свойства задач, используемых в конвейере. | ✔️ | ✔️ |
|
TaskAgentPoolSizeSnapshot/ TaskAgentPoolSizeSnapshots |
(Составной) Поддерживает понимание размера пула, заданий конвейера и параллелизма. График журнала для пулов агентов иллюстрирует, как можно использовать этот набор сущностей . | ✔️ | |
|
TaskAgentRequestSnapshot/ TaskAgentRequestSnapshots |
(Составной) Предоставляет аналитические сведения о шаблонах запросов агента и использовании ресурсов с течением времени. | ✔️ |
Шаблоны использования объектов конвейера.
Различные сущности потока данных служат определенным сценариям отчетности.
-
Отчеты об обзоре конвейера: используйте
PipelinesиPipelineRunsдля метрик высокого уровня -
Анализ производительности. Использование
PipelineRunActivityResultsдля подробного анализа времени -
Использование ресурсов. Использование
TaskAgentPoolSizeSnapshotресурсов для планирования емкости -
Анализ сбоев: использование
PipelineJobsдля отслеживания успешности и сбоя на уровне задания
Тестирование типов сущностей и наборов сущностей
Следующие типы сущностей и наборы сущностей поддерживаются в версии 3.0-preview или версии 4.0-preview Analytics. Полный справочник см. в справочнике по метаданным теста.
EntityType/EntitySet |
Описание | Версия 3.0 (предварительная версия) | версия 4.0-preview |
|---|---|---|---|
|
TestConfiguration/ TestConfigurations |
Сведения о конфигурации плана тестирования. Дополнительные сведения о настройке тестов см. в разделе "Тестирование различных конфигураций". | ✔️ | ✔️ |
|
TestResult/ TestResults |
Отдельные результаты выполнения для определенного теста , связанного с TestRun. | ✔️ | ✔️ |
|
TestResultsDaily/ TestResultsDaily |
Ежедневный агрегат моментальных снимков выполнения TestResult , сгруппированный по test (а не TestRun). Пример отчета см . в примере отчета с сводной тенденцией теста. | ✔️ | ✔️ |
|
TestRun/ TestRuns |
Сведения о выполнении тестов в рамках конвейера с агрегированными данными о результатах тестирования. | ✔️ | ✔️ |
|
Тестирование/ Тесты |
Свойства для тестового случая, например имя теста и владелец теста. Дополнительные сведения об определении тестовых случаев см. в статье "Создание тестовых случаев вручную". | ✔️ | ✔️ |
|
TestPoint/ TestPoints |
Сведения о выполнении для точек тестирования. Точка тестирования — это уникальное сочетание тестового случая, набора тестов, конфигурации и тестировщика. Пример отчета см . в примере отчета о состоянии хода выполнения. | ✔️ | ✔️ |
|
TestPointHistorySnapshot/ TestPointHistorySnapshots |
(Составной) Исторические данные выполнения для точек тестирования с течением времени. Пример отчета см . в примере отчета о тренде выполнения вручную. | ✔️ | ✔️ |
|
TestSuite/ TestSuites |
Сведения о наборах тестов. Дополнительные сведения об определении наборов тестов см. в статье "Создание планов тестирования" и наборов тестов. | ✔️ | ✔️ |
Тестирование сценариев отчетов сущностей
Тестовые сущности поддерживают различные потребности в отчетах:
-
Отслеживание выполнения тестов: использование
TestResultsиTestRunsдля получения подробных данных о выполнении -
Метрики планирования тестов: используйте
TestPointsиTestSuitesдля покрытия -
Анализ трендов: использование
TestResultsDailyиTestPointHistorySnapshotsдля исторических тенденций -
Покрытие конфигурации: использование
TestConfigurationsдля анализа многоплатформенного тестирования
Рекомендации по использованию модели данных Аналитики
Оптимизация производительности
-
Выберите нужную сущность: используйте текущие сущности состояния (
WorkItems) для отчетов о состоянии и сущностей моментальных снимков для тенденций - Ранняя фильтрация: применение фильтров на уровне сущности, а не после извлечения данных
- Ограничение диапазонов данных. Использование фильтров дат для ограничения запросов к данным журнала
- Используйте соответствующие агрегации: при возможности используйте встроенные функции агрегирования.
Шаблоны проектирования запросов
Текущие запросы состояния
/WorkItems?$filter=State ne 'Closed'&$select=WorkItemId,Title,State
Запросы исторических трендов
/WorkItemSnapshot?$filter=DateSK ge 20241001&$select=WorkItemId,State,DateSK
Навигация по связям
/WorkItems?$expand=Area($select=AreaPath),AssignedTo($select=UserName)
Распространенные ловушки, которых следует избегать
-
Использование сущностей ревизии для текущего состояния: не используйте
WorkItemRevisions, еслиWorkItemsдостаточно - Чрезмерное расширение связей: развернуты только необходимые навигационные свойства
- Отсутствующие фильтры: всегда фильтруйте большие наборы сущностей для повышения производительности
-
Игнорировать составные сущности: используйте составные сущности, такие как
WorkItemSnapshotдля анализа трендов
Соображения по версиям
Различные версии API предоставляют различные возможности:
- v1.0: Основные элементы для отслеживания работы
- версия 2.0. Добавлен процесс и расширенные возможности фильтрации
- версия 3.0-preview: добавлены конвейеры и тестовые сущности
- версия 4.0-preview: расширенные составные сущности и дополнительные метрики конвейера
Выберите соответствующую версию в зависимости от требований к отчетам и сущностей, к которым требуется доступ.
Связанные статьи
- Рекомендации по запросам OData Analytics
- Аналитика WIT
- Статистические данные
- Изучение метаданных OData аналитики
- Ограничения для отслеживания хода выполнения работы, процесса и проекта
- Конструктор набора данных для аналитических представлений
- Создание запросов OData для аналитики
- Безопасность и разрешения аналитики