Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Le modèle de données Analytics pour Azure DevOps se compose d’ensembles d’entités, dont les membres (entités) contiennent des propriétés que vous pouvez filtrer, agréger et résumer. En outre, ils contiennent des propriétés de navigation qui associent des entités à l’autre, fournissant l’accès à d’autres propriétés pour la sélection, le filtrage et le regroupement.
Remarque
Le service Analytics est automatiquement activé et pris en charge en production pour tous les services dans Azure DevOps Services. L’intégration de Power BI et l’accès au flux OData du service Analytics sont généralement disponibles. Vous êtes encouragé à utiliser le flux OData Analytics et à fournir des commentaires.
Les données disponibles dépendent de la version. La dernière version prise en charge de l’API OData est v2.0, et la dernière version préliminaire est v4.0-preview. Pour plus d’informations, consultez gestion des versions de l’API OData.
Remarque
Le service Analytics est automatiquement installé et pris en charge en production pour toutes les nouvelles collections de projets pour Azure DevOps Server 2020 et versions ultérieures. L’intégration de Power BI et l’accès au flux OData du service Analytics sont généralement disponibles. Vous êtes encouragé à utiliser le flux OData Analytics et à fournir des commentaires. Si vous effectuez une mise à niveau à partir d’Azure DevOps Server 2019, vous pouvez installer le service Analytics pendant la mise à niveau.
Les données disponibles dépendent de la version. La dernière version prise en charge de l’API OData est v2.0, et la dernière version préliminaire est v4.0-preview. Pour plus d’informations, consultez gestion des versions de l’API OData.
Présentation du modèle de données Analytics
Le service Analytics offre une approche structurée pour accéder aux données Azure DevOps via des points de terminaison OData. Ce modèle de données vous permet de :
- Interroger les données de suivi du travail : Accéder aux éléments de travail, aux zones, aux itérations et aux métadonnées associées
- Analyser les informations du pipeline : Interroger des données de pipeline de génération et de mise en production
- Rapport sur les résultats des tests : Accéder aux données d’exécution et de planification des tests
- Créer des rapports personnalisés : Créer des rapports Power BI et d’autres solutions d’analytique
Espaces de noms de schéma
Le modèle de données Analytics opère sur deux espaces de noms de schéma.
Microsoft.VisualStudio.Services.Analytics.ModelMicrosoft.VisualStudio.Services.Analytics
Ces espaces de noms organisent les entités et définissent leur structure, ce qui garantit des modèles d’accès aux données cohérents entre différentes fonctionnalités Azure DevOps.
Jeux d’entités et types d’entités
Les types d’entités sont nommés types structurés avec une clé. Ils définissent les propriétés et relations nommées de chaque entité. La clé d'un EntityType est formée à partir d'un sous-ensemble des propriétés primitives—par exemple, WorkItemId, PipelineId, ReleasePipelineId—et d'autres propriétés du type d'entité.
Les jeux d’entités sont des collections nommées d’entités. Par exemple, WorkItems il s’agit d’un jeu d’entités contenant des WorkItem entités. La clé d’une entité identifie de façon unique l’entité au sein d’un jeu d’entités. Si plusieurs jeux d’entités utilisent le même type d’entité, la même combinaison de valeurs de clé peut apparaître dans plusieurs ensembles d’entités et identifie différentes entités, une par jeu d’entités où cette combinaison de clés s’affiche. Chacune de ces entités a un ID d’entité différent. Les jeux d’entités fournissent des points d’entrée dans le modèle de données.
Les jeux d’entités sont décrits dans les métadonnées OData et varient selon le projet. Vous pouvez explorer la liste complète des jeux d’entités, des types d’entités et des propriétés en demandant les métadonnées OData pour votre projet. Pour en savoir plus, consultez Créer des requêtes OData pour Analytics.
Entités composées
Les entités composites prennent en charge des scénarios spécifiques. Le système les compose à partir d’entités plus simples, nécessite souvent davantage de ressources informatiques pour générer et peut retourner des jeux de résultats plus volumineux. Pour obtenir les meilleures performances et éviter une limitation inutile, veillez à interroger l’entité appropriée pour votre scénario.
Par exemple, WorkItemSnapshot combine et WorkItemRevisionsDates telle que chaque date a une révision pour chaque élément de travail. Cette représentation prend en charge les requêtes OData qui se concentrent sur les données de tendance pour un ensemble filtré d’éléments de travail. Toutefois, vous ne devez pas utiliser cette entité composite pour interroger l’état actuel des éléments de travail. Au lieu de cela, vous devez utiliser l’ensemble d’entités WorkItems pour générer une requête s'exécutant plus rapidement.
De même, certaines entités peuvent contenir toutes les valeurs historiques, tandis que d’autres peuvent contenir uniquement des valeurs actuelles.
WorkItemRevisions contient l’historique des éléments de travail, que vous ne devez pas utiliser dans les scénarios où les valeurs actuelles sont intéressantes.
Relations
Pour générer des résultats de requête plus complexes, vous pouvez combiner des entités à l’aide de relations. Vous pouvez utiliser des relations pour développer, filtrer ou synthétiser des données.
Certaines propriétés de navigation entraînent une entité unique, tandis que d’autres entraînent une collection d’entités. Le diagramme suivant montre les entités sélectionnées et leurs propriétés de navigation. Pour plus de clarté, certaines entités et relations composites ont été omises.
Présentation des relations d’entité
Le modèle de données Analytics utilise plusieurs types de relations :
- Un-à-plusieurs : une entité parente unique est liée à plusieurs entités enfants (par exemple, une Zone à plusieurs WorkItems)
- Plusieurs à un : plusieurs entités sont liées à une entité parente unique (par exemple, de nombreux WorkItems à une seule zone)
- Un-à-un : une seule entité se rapporte exactement à une autre entité
- Many-to-many : plusieurs entités sont liées à plusieurs autres entités (par exemple, WorkItems à Tags)
Clés de relation
Les relations d’entité sont également représentées en tant que clés étrangères afin que les outils externes puissent joindre des entités. Ces propriétés ont le suffixe « SK » et sont des types de données entiers ou GUID. Les propriétés de date ont des propriétés de clé de date entière correspondantes au format suivant : AAAAMMDD.
Types d’entités et jeux d’entités de suivi du travail
Les types d’entités et les jeux d’entités suivants sont pris en charge avec les versions d’API indiquées. Pour obtenir une référence complète, consultez informations de référence sur les métadonnées de suivi des travaux pour Azure Boards Analytics.
EntityType/EntitySet |
Descriptif | Version 1.0 | v2.0 | v3.0-preview | v4.0-preview |
|---|---|---|---|---|---|
|
Zone/ Zones |
Chemins d’accès à la zone de l’élément de travail, avec des propriétés pour le regroupement et le filtrage par hiérarchie de zones. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Itération/ Itérations |
Chemins d’itération de l’élément de travail, avec des propriétés pour le regroupement et le filtrage par hiérarchie d’itération. | ✔️ | ✔️ | ✔️ | ✔️ |
|
BoardLocation/ BoardLocations |
Les emplacements des cellules de la carte, tels que identifiés par la colonne de bord, le couloir et le fractionnement, incluent des paramètres de carte historiques. Pour obtenir une description de chaque champ de carte, consultez Les champs flux de travail et carte. | ✔️ | ✔️ | ✔️ | ✔️ |
|
CalendarDate/ Dattes |
Dates utilisées pour filtrer et regrouper d’autres entités à l’aide de relations. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Projet/ Projets |
Tous les projets définis pour un organization (cloud) ou une collection de projets (local). | ✔️ | ✔️ | ✔️ | ✔️ |
|
Processus/ Processus |
Informations de backlog utilisées pour développer ou filtrer les éléments de travail et les types d’éléments de travail. Pour obtenir un exemple qui utilise des processus pour filtrer un rapport, consultez Exemple de rapport de suivi des exigences. | ✔️ | ✔️ | ✔️ | |
|
Graphique avec indicateur/ Étiquettes |
Toutes les étiquettes d’élément de travail pour chaque projet. Pour obtenir un exemple qui utilise des balises pour filtrer un rapport, consultez Exemple de rapport de burndown de mise en production. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Équipe/ Équipes |
Toutes les équipes définies pour le projet. Pour obtenir un exemple qui utilise Teams pour filtrer un rapport, consultez Ajouter un segment Team à un rapport Power BI. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Utilisateur/ Utilisateurs |
Informations utilisateur que vous utilisez pour développer ou filtrer différentes propriétés d’élément de travail, par exemple affectées à, créées par. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemBoardSnapshot/ Capture du tableau des éléments de travail |
(Composite) État de chaque élément de travail sur chaque date de calendrier, y compris l’emplacement du tableau, utilisé pour générer des rapports de tendance. Pour obtenir un exemple de rapport, consultez Exemple de rapport de diagramme de flux cumulé (CFD). | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemLink/ WorkItemLinks |
Liens entre les éléments de travail, par exemple, Enfant, Parent et Connexe. Inclut uniquement la dernière révision des liens, sans historique. Les liens hypertexte ne sont pas inclus. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemRevision/ RévisionsDesÉlémentsDeTravail |
Toutes les révisions d’éléments de travail historiques, y compris la révision actuelle. N’inclut pas les éléments de travail supprimés. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemSnapshot/ WorkItemSnapshot |
(Composite) État de chaque élément de travail à chaque date de calendrier, utilisé pour prendre en charge les rapports de tendances. Pour obtenir un exemple de rapport, consultez Exemple de rapport sur les tendances des bogues. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItem/ WorkItems |
État actuel des éléments de travail. Utilisé pour prendre en charge les rapports status. Pour obtenir un exemple de rapport, consultez Cumuler les valeurs d’élément de travail enfant dans l’exemple de rapport parent. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemTypeField/ WorkItemTypeFields |
Propriétés d’élément de travail pour chaque type et processus d’élément de travail. Utilisé pour prendre en charge la génération de rapports. | ✔️ | ✔️ | ✔️ | ✔️ |
Entités clés de suivi de travail pour l'élaboration de rapports
Lors de la génération de rapports, tenez compte de ces jeux d’entités principaux :
-
Rapports d’état actuels : Utiliser
WorkItemspour l’état actuel de l’élément de travail -
Rapports de tendances historiques : Utilisation
WorkItemSnapshotpour l’analyse des tendances au fil du temps -
Suivi détaillé des modifications : Utilisation
WorkItemRevisionspour l’historique complet -
Rapports spécifiques au tableau : utiliser
WorkItemBoardSnapshotpour l’analyse de tableau Kanban
Types d’entités et jeux d’entités de pipelines
Les types d’entités et jeux d’entités suivants sont pris en charge avec la version v3.0-preview ou v4.0-preview Analytics. Pour obtenir une référence complète, consultez la référence des métadonnées du pipeline.
| EntityType/EntitySet | Descriptif | v3.0-preview | v4.0-preview |
|---|---|---|---|
|
Branche/ Branches |
Informations de base sur les branches utilisées dans les tests ou les pipelines. Pour obtenir un exemple de rapport, consultez l’exemple de rapport État de progression. | ✔️ | ✔️ |
|
ParallelPipelineJobsSnapshot/ ParallelPipelineJobsSnapshot |
(Composite) Prend en charge la compréhension de la consommation de pipeline parallèle. Pour plus d’informations sur les tests de pipeline parallèles, consultez Exécuter des tests en parallèle à l’aide de la tâche de test Visual Studio. | ✔️ | |
|
Pipeline/ Pipelines |
Propriétés d’un pipeline. | ✔️ | ✔️ |
|
PipelineJob/ PipelineJobs |
Résultats d’exécution individuels pour un travail spécifique au sein d’une exécution de pipeline. | ✔️ | ✔️ |
|
PipelineRun/ PipelineRuns |
Informations d’exécution pour les pipelines. Pour obtenir un exemple de rapport, consultez l’exemple de rapport de tendance du taux de transmission de pipeline. | ✔️ | ✔️ |
|
PipelineRunActivityResult/ PipelineRunActivityResults |
Journal fusionné de toutes les étapes, étapes, travaux et tâches au sein d’une exécution de pipeline spécifique. Pour obtenir un exemple de rapport, consultez l’exemple de rapport de durée des tâches de pipeline. | ✔️ | ✔️ |
|
PipelineTask/ PipelineTasks |
Propriétés des tâches que vous utilisez dans un pipeline. | ✔️ | ✔️ |
|
TaskAgentPoolSizeSnapshot/ TaskAgentPoolSizeSnapshots |
(Composite) Prend en charge la compréhension de la taille du pool, des travaux de pipeline et de la concurrence. Le graphique historique des pools d’agents illustre la façon dont cet ensemble d’entités peut être utilisé. | ✔️ | |
|
TaskAgentRequestSnapshot/ TaskAgentRequestSnapshots |
(Composite) Fournit des insights sur les modèles de demande d’agent et l’utilisation des ressources au fil du temps. | ✔️ |
Modèles d’utilisation des entités de pipeline
Différentes entités de pipeline répondent à des scénarios spécifiques de création de rapports :
-
Rapports de vue d’ensemble du pipeline : Utiliser
PipelinesetPipelineRunspour les métriques de haut niveau -
Analyse des performances : utiliser
PipelineRunActivityResultspour une analyse détaillée du minutage -
Utilisation des ressources : Utilisation
TaskAgentPoolSizeSnapshotpour la planification de la capacité -
Analyse des échecs : utilisation
PipelineJobspour le suivi des réussites/échecs au niveau du travail
Tester les types d’entités et les jeux d’entités
Les types d’entités et jeux d’entités suivants sont pris en charge avec la version v3.0-preview ou v4.0-preview Analytics. Pour obtenir une référence complète, consultez référence des métadonnées de test.
EntityType/EntitySet |
Descriptif | v3.0-preview | v4.0-preview |
|---|---|---|---|
|
TestConfiguration/ TestConfigurations |
Informations de configuration du plan de test. Pour plus d’informations sur la configuration des tests, consultez Tester différentes configurations. | ✔️ | ✔️ |
|
TestResult/ TestResults |
Résultats d’exécution individuels pour un test spécifique associé à un TestRun. | ✔️ | ✔️ |
|
TestResultsDaily/ TestResultsDaily |
Agrégat d’instantanés quotidiens des exécutions TestResult , regroupés par Test (et non TestRun). Pour obtenir un exemple de rapport, consultez l’exemple de rapport de tendance de résumé des tests. | ✔️ | ✔️ |
|
TestRun/ TestRuns |
Informations d’exécution pour les tests exécutés sous un pipeline avec des données TestResult agrégées. | ✔️ | ✔️ |
|
Test/ Tests |
Propriétés d’un cas de test, telles que le nom de test et le propriétaire de test. Pour plus d’informations sur la définition des cas de test, consultez Créer des cas de test manuels. | ✔️ | ✔️ |
|
TestPoint/ TestPoints |
Informations d’exécution pour les points de test. Un point de test est une combinaison unique de cas de test, de suite de tests, de configuration et de testeur. Pour obtenir un exemple de rapport, consultez l’exemple de rapport État de progression. | ✔️ | ✔️ |
|
TestPointHistorySnapshot/ TestPointHistorySnapshots |
(Composite) Données d’exécution historiques pour les points de test au fil du temps. Pour obtenir un exemple de rapport, consultez l’exemple de rapport de tendance d’exécution des tests manuels. | ✔️ | ✔️ |
|
Testsuite/ TestSuites |
Informations sur les suites de tests. Pour plus d’informations sur la définition des suites de test, consultez Créer des plans de test et des suites de test. | ✔️ | ✔️ |
Scénarios de rapport d’entité de test
Les entités de test prennent en charge différents besoins de création de rapports :
-
Suivi de l’exécution des tests : utiliser
TestResultsetTestRunspour obtenir des données d’exécution détaillées -
Métriques de planification des tests : Utiliser
TestPointsetTestSuitesplanifier la couverture -
Analyse des tendances : Utiliser
TestResultsDailyetTestPointHistorySnapshotspour les tendances historiques -
Couverture de la configuration : Utilisez
TestConfigurationspour l'analyse des tests multiplateformes
Meilleures pratiques pour l’utilisation du modèle de données Analytics
Optimisation des performances
-
Choisissez l’entité appropriée : utiliser les entités d’état actuelles (
WorkItems) pour les rapports d’état et les entités d’instantané pour les tendances - Filtrer tôt : Appliquer des filtres au niveau de l’entité plutôt qu’après la récupération des données
- Limiter les plages de données : utiliser des filtres de date pour restreindre les requêtes de données historiques
- Utiliser les agrégations appropriées : tirer parti des fonctions d’agrégation intégrées lorsque cela est possible
Modèles de conception de requête
Les requêtes d'état actuelles
/WorkItems?$filter=State ne 'Closed'&$select=WorkItemId,Title,State
Requêtes de tendance historique
/WorkItemSnapshot?$filter=DateSK ge 20241001&$select=WorkItemId,State,DateSK
Navigation des relations
/WorkItems?$expand=Area($select=AreaPath),AssignedTo($select=UserName)
Pièges courants à éviter
-
Utilisation d’entités de révision pour l’état actuel : n’utilisez
WorkItemRevisionspas quandWorkItemscela suffit - Relations trop étendues : développez uniquement les propriétés de navigation nécessaires
- Filtres manquants : filtrez toujours des jeux d’entités volumineux pour améliorer les performances
-
Ignorer les entités composites : utiliser des entités composites comme
WorkItemSnapshotpour l’analyse des tendances
Considérations relatives à la version
Différentes versions d’API offrent différentes fonctionnalités :
- v1.0 : Entités de suivi de travail de base
- v2.0 : Ajout de fonctionnalités de filtrage et de processus améliorés
- v3.0-preview : Ajout d’entités de pipeline et de test
- v4.0-preview : entités composites améliorées et métriques de pipeline supplémentaires
Choisissez la version appropriée en fonction de vos exigences de création de rapports et des entités auxquelles vous devez accéder.
Articles connexes
- Instructions relatives aux requêtes OData Analytics
- Analytique WIT
- Données agrégées
- Exploration des métadonnées OData Analytics
- Limites du suivi du travail, des processus et des projets
- Conception du jeu de données des vues d’analyse
- Construire des requêtes OData pour Analytics
- Sécurité et autorisations d’analyse