Partager via


Exemple de rapport sur la tendance du taux de transmission de pipeline

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Cet article vous montre comment créer un rapport qui montre la tendance quotidienne du taux de passage quotidien d’un pipeline. Le taux de réussite d’un pipeline est défini comme le pourcentage d’exécutions de pipeline réussies par rapport au nombre total d’exécutions de pipeline. Ce rapport est comparable au graphique « Tendance du taux de transmission » du rapport sur le taux de transmission du pipeline. L’image suivante montre un exemple de tendance de ce type.

Capture d’écran du rapport Tendance du taux de transmission des exécutions de pipeline dans Power BI.

Importante

L’intégration de Power BI et l’accès au flux OData du service Analytics sont généralement disponibles pour Azure DevOps Services et Azure DevOps Server 2020 et versions ultérieures. Les exemples de requêtes fournis dans cet article sont valides uniquement sur Azure DevOps Server 2020 et versions ultérieures, et dépendent de la version v3.0-preview ou ultérieure. Nous vous encourageons à utiliser ces requêtes et à nous fournir des commentaires.

Catégorie Spécifications
Niveaux d’accès - Membre du projet.
- Au moins un accès de base (Basic).
Permissions Par défaut, les membres du projet ont l’autorisation d’interroger Analytics et de créer des vues. Pour plus d’informations sur les autres prérequis concernant l’activation du service et des fonctionnalités et les activités de suivi des données générales, consultez Autorisations et conditions préalables pour accéder à Analytics.

Remarque

Cet article part du principe que vous lisez la vue d’ensemble des exemples de rapports à l’aide de requêtes OData et que vous avez une compréhension de base de Power BI.

Exemples de requêtes

Vous pouvez utiliser les requêtes suivantes de l’ensemble PipelineRuns d’entités pour créer des rapports de tendances de taux de transmission différents, mais similaires.

Remarque

Pour déterminer les propriétés disponibles à des fins de filtre ou de rapport, consultez la référence des métadonnées pour Azure Pipelines. Vous pouvez filtrer vos requêtes ou renvoyer des propriétés en utilisant l'une des valeurs Property disponibles sous un EntityType ou parmi les valeurs NavigationPropertyBinding Path disponibles avec un EntitySet. Chaque EntitySet correspond à un EntityType. Pour plus d’informations sur le type de données de chaque valeur, passez en revue les métadonnées fournies pour le type de données correspondant EntityType.

Tendance du taux de réussite d’un pipeline spécifique

Les requêtes suivantes renvoient les exécutions du pipeline pour un pipeline précis à partir d’une date de début fournie.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir des données>Requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Chaînes de substitution et analyse des requêtes

Remplacez les chaînes suivantes par vos valeurs. N’incluez pas de crochets {} avec votre substitution. Par exemple, si le nom de votre organisation est « Fabrikam », remplacez {organization} par Fabrikam, et non par {Fabrikam}.

  • {organization} - Nom de votre organisation
  • {project} - Nom de votre projet d’équipe
  • {pipelinename} - Nom de votre pipeline. Exemple : Fabrikam hourly build pipeline
  • {startdate} - Date de démarrage de votre rapport. Format : AAAA-MM-JJZ. Exemple : 2021-09-01Z représente le 1er septembre 2021. Ne placez pas entre guillemets ou crochets et utilisez deux chiffres pour les deux, mois et date.

Répartition des requêtes

Le tableau suivant décrit chaque partie de la requête.

Composant de requête

Description


$apply=filter(

Démarre la clause filter().

Pipeline/PipelineName eq '{pipelinename}'

Retourne les exécutions de pipeline pour le pipeline spécifié.

and CompletedDate ge {startdate}

Retourne les exécutions de pipeline à la date spécifiée ou après celle-ci.

and CanceledCount ne 1

Omet les exécutions de pipeline annulées.

)

Fermer la clause filter().

/groupby(

Démarre la clause groupby().

(CompletedOn/Date),

Regrouper par date d’achèvement de l’exécution du pipeline.

aggregate

Démarrer la clause aggregate pour toutes les exécutions de pipeline correspondant aux critères du filtre.

($count as TotalCount,

Comptez le nombre total d’exécutions sous la forme TotalCount.

SucceededCount with sum as SucceededCount ,

Compter le nombre d’exécutions réussies comme SucceededCount.

FailedCount with sum as FailedCount,

Comptez le nombre d’exécutions ayant échoué en tant que FailedCount.

PartiallySucceededCount with sum as PartiallySucceededCount))

Comptez le nombre d’exécutions partiellement réussies en tant que PartiallySucceededCount. Ferme les clauses aggregate() et groupby().

/compute(

Début de compute() la clause.

SucceededCount mul 100.0 div TotalCount as PassRate,

Calculez PassRate pour chaque jour en divisant le nombre d’exécutions réussies par nombre d’exécutions totales.

FailedCount mul 100.0 div TotalCount as FailRate,

Calculez FailRate pour chaque jour en divisant le nombre d’exécutions ayant échoué par nombre d’exécutions totales.

PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate)

Calculez PartiallySuccessfulRate pour chaque jour en divisant le nombre d’exécutions partiellement réussies par nombre d’exécutions totales.

&$orderby=CompletedOn/Date asc

Triez le résultat par ordre croissant selon la date d’exécution du pipeline.

Tendances du taux de transmission d’un identifiant de pipeline

Les pipelines peuvent être renommés. Pour vous assurer que les rapports Power BI ne s’arrêtent pas lorsque le nom du pipeline est modifié, utilisez l’ID de pipeline plutôt que le nom du pipeline. Pour obtenir l’ID d'un pipeline, consultez l’URL de la page des exécutions du pipeline.

https://dev.azure.com/{organization}/{project}/_build?definitionId={pipelineid}

Les requêtes suivantes retournent les exécutions du pipeline pour un ID de pipeline spécifique à partir d’une date de début spécifiée.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir des données>Requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"PipelineId eq {pipelineId} "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tendance du taux de transmission, filtrer par branche

Vous souhaiterez peut-être afficher la tendance du taux de transmission d’un pipeline pour une branche particulière uniquement. Pour créer le rapport, effectuez les étapes supplémentaires suivantes, ainsi que ce qui est décrit dans les sections Modifier le type de données de la colonne et Créer le rapport graphique en courbes.

  • Développez Branch en Branch.BranchName.
  • Sélectionnez Segment de visualisation Power BI et ajoutez Branch.BranchName au Champ du segment.
  • Sélectionnez le nom de la branche dans le segment pour lequel vous devez afficher la tendance du taux de transmission.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir des données>Requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(Branch/BranchName, CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tendance du taux de transmission, filtrer par motif de build

Il peut être utile d'afficher la tendance du taux de transmission d’un pipeline pour des motifs de build spécifiques (Manual/BatchedCI, requête de récupération, etc.). Pour créer le rapport, effectuez les étapes supplémentaires suivantes, ainsi que ce qui est décrit dans les sections Modifier le type de données de la colonne et Créer le rapport graphique en courbes.

  • Sélectionnez Slicer dans le volet Visualisations et ajoutez RunReason suivant au champ du slicer.
  • Sélectionnez le nom du pipeline dans le segment pour lequel vous devez afficher la tendance du taux de transmission.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir des données>Requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(RunReason, CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tendance du taux de réussite pour tous les pipelines de projets

Utilisez les requêtes suivantes pour afficher la tendance du taux de transmission pour tous les pipelines du projet dans un seul rapport. Pour créer le rapport, effectuez les étapes supplémentaires suivantes, ainsi que ce qui est décrit dans les sections Modifier le type de données de la colonne et Créer le rapport graphique en courbes.

  • Développez Pipeline en Pipeline.PipelineName.
  • Sélectionnez Slicer dans le volet Visualisations et ajoutez le champ Pipeline.PipelineName suivant au champ du slicer.
  • Sélectionnez le pipeline de build dans le segment pour lequel vous devez afficher la tendance du taux de transmission.

Reportez-vous à l'exemple de rapport Résumé des résultats pour tous les pipelines qui contient des étapes similaires détaillées comme requis ici.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir des données>Requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
                &") "
        &"/groupby( "
        &"(Pipeline/PipelineName, CompletedOn/Date), "
            &"aggregate "
                &"($count as TotalCount, "
                &"SucceededCount with sum as SucceededCount , "
            &"FailedCount with sum as FailedCount, "
                &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
            &"/compute( "
        &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Facultatif) Renommer la requête

Vous pouvez renommer l’étiquette de requête par défaut , Query1, en quelque chose de plus significatif. Entrez simplement un nouveau nom dans le volet Paramètres de requête .

Capture d’écran des options de menu de requête Power BI, renommer la requête.

Développer les colonnes dans l’éditeur Power Query

Avant de créer le rapport, vous devez développer des colonnes qui retournent des enregistrements contenant plusieurs champs. Dans ce cas, vous souhaiterez élargir la colonne CompletedOn afin de l'aplatir à CompletedOn.Date.
Pour savoir comment développer des éléments de travail, consultez Transformer des données Analytics pour générer des rapports Power BI.

Modifier le type de données de colonne

Dans le menu Transformer , modifiez le type de données pour les colonnes suivantes. Pour savoir comment procéder, consultez Transformer un type de données de colonne.

  • PassRate, FailRate et les colonnes PartiallySuccessfulRate en nombre décimal.`
  • TotalCount en nombre entier.

(Facultatif) Renommer des champs de colonne

Vous pouvez renommer des champs de colonne. Par exemple, vous pouvez renommer la colonne Pipeline.PipelineName en Pipeline Name, ou TotalCount en Total Count. Pour savoir comment procéder, consultez Renommer les champs de colonnes.

Fermez la requête et appliquez vos modifications

Une fois que vous avez terminé toutes vos transformations de données, choisissez Fermer & Appliquer dans le menu Accueil pour enregistrer la requête et revenir à l’onglet Rapport dans Power BI.

Capture d’écran de l'option Fermer et appliquer dans l'éditeur Power Query.

Créer le rapport sous forme de graphique linéaire

  1. Dans Power BI, sous Visualisations, choisissez le rapport de graphique en courbes.

    Capture d'écran des sélections de champs de visualisation pour le rapport de diagramme de tendance du taux de transmission.

  2. Ajouter CompletedOn.Date à l’axe X. Cliquez avec le bouton droit sur le champ et choisissez CompletedOn.Date.

  3. Ajoutez PassRate à l'axe Y, puis cliquez dessus avec le bouton droit pour vérifier que Somme est sélectionnée.

  4. Pour modifier le titre du rapport, sélectionnez l’icône Mettre en forme votre pinceau visuel dans le volet Visualisations, sélectionnez Général, Développez Titre et remplacez le texte existant.

    L’image suivante montre le rapport résultant.

    Capture d’écran du modèle de rapport Tendance du taux de transmission des exécutions de pipeline dans Power BI.