Exemple de rapport sur les échecs de phase de pipeline

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

Cet article explique comment créer un rapport sur les défaillances quotidiennes d’un pipeline. Ce rapport est similaire au graphique « Tendance des échecs » du rapport de taux de passage de pipeline.

L’image suivante montre un exemple de rapport d’échecs intermédiaires pour un pipeline spécifique entre octobre 2022 et décembre 15 2022.

Capture d’écran du rapport de colonnes empilées sur les échecs intermédiaires power BI Pipelines.

Important

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.

Prérequis

  • Pour afficher les données Analytics et interroger le service, vous devez être membre d’un projet avec un accès de base ou supérieur. Par défaut, tous les membres du projet sont autorisés à interroger Analytics et à définir des vues Analytics.
  • Pour en savoir plus sur les autres prérequis concernant l’activation des services et des fonctionnalités et les activités générales de suivi des données, consultez Autorisations et prérequis pour accéder à Analytics.

Remarque

Cet article suppose que vous avez lu 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

Les rapports de tendances d’échec des étapes, des tâches ou des travaux peuvent être créés en interrogeant l’ensemble d’entités PipelineRunActivityResults .

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 à l’aide de l’une Property des valeurs sous ou EntityType des NavigationPropertyBinding Path valeurs disponibles avec un EntitySet. Chaque EntitySet correspond à un EntityType. Pour en savoir plus sur le type de données de chaque valeur, passez en revue les métadonnées fournies pour le .EntityType

Tendance des échecs intermédiaires

Pour afficher la tendance des échecs intermédiaires d’un pipeline spécifique à partir d’une date spécifiée, utilisez les requêtes suivantes.

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
                &"and PipelineRunOutcome eq 'Failed' "
        &"and TaskOutcome eq 'Failed' "
        &") "
            &"/groupby( "
                &"(PipelineRunCompletedOn/Date, PipelineRunId, PipelineJob/StageName ), "
                &"aggregate (FailedCount with sum as FailedCount)) "
            &"/groupby( "
                &"(PipelineRunCompletedOn/Date, PipelineJob/StageName ), "
            &"aggregate "
        &"(cast(FailedCount gt 0, Edm.Int32) with sum as FailedStageCount)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Chaînes de substitution et répartition 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 par {organization}Fabrikam, et non {Fabrikam}par .

  • {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-DDZ. 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(

Clause Start filter() .

Pipeline/PipelineName eq '{pipelinename}'

Retourne les résultats de la tâche pour un pipeline spécifique.

and PipelineRunCompletedOn/Date ge {startdate}

Retourne les résultats des tâches pour les exécutions de pipelines à la date spécifiée ou après celle-ci.

and PipelineRunOutcome eq 'Failed'

Retourne les résultats de la tâche où le résultat de la génération a échoué.

and TaskOutcome eq 'Failed'

Retourne les résultats de la tâche où le résultat de la tâche a échoué.

)

Clause Close filter .

/groupby(

Clause Start groupby() .

(PipelineRunCompletedOn/Date, PipelineRunId, PipelineJob/StageName ),

Regroupez par date d’achèvement de l’exécution du pipeline, de l’ID de build et du nom de l’étape.

aggregate (FailedCount with sum as FailedCount))

Pour chaque jour, ID de build et étape ; compte le nombre total d’échecs. Il s’agit du nombre total d’échecs de tâche et non d’échecs intermédiaires.

/groupby(

Clause Start groupby() .

(PipelineRunCompletedOn/Date, PipelineJob/StageName ),

Regrouper par jour et nom d’étape.

aggregate

Clause Start aggregate .

(cast(FailedCount gt 0, Edm.Int32) with sum as FailedStageCount))

Pour chaque jour, additionnez le nombre de fois qu’une étape a échoué, puis fermez la aggregate clause.

Tendance de l’échec des tâches

Pour afficher la tendance des échecs des tâches, utilisez les requêtes suivantes.

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
                &"and PipelineRunOutcome eq 'Failed' "
        &"and TaskOutcome eq 'Failed' "
        &") "
            &"/groupby( "
                &"(PipelineRunCompletedOn/Date, TaskDisplayName), "
                &"aggregate "
            &"(FailedCount with sum as FailedCount)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tendance de l’échec du travail

Pour afficher la tendance des échecs du travail, utilisez les requêtes suivantes.

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
                &"and PipelineRunOutcome eq 'Failed' "
        &"and TaskOutcome eq 'Failed' "
        &") "
            &"/groupby( "
                &"(PipelineRunCompletedOn/Date, PipelineRunId, PipelineJob/JobName ), "
                &"aggregate (FailedCount with sum as FailedCount)) "
            &"/groupby( "
                &"(PipelineRunCompletedOn/Date, PipelineJob/JobName ), "
            &"aggregate "
        &"(cast(FailedCount gt 0, Edm.Int32) with sum as FailedJobCount)) "
    ,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 des colonnes dans Éditeur Power Query

Avant de créer le rapport, vous devez développer les deux colonnes suivantes. Pour savoir comment développer des éléments de travail, consultez Transformer des données Analytics pour générer des rapports Power BI.

  • Développer PipelineJob jusqu’à PipelineJob.StageName
  • Développer PipelineRunCompletedOn jusqu’à PipelineRunCompletedOn.Date

Modifier le type de données de colonne

Dans le menu Transformer, remplacez le type de données de la FailedStageCount colonne par Qui le Number. Pour savoir comment procéder, consultez Transformer un type de données de colonne.

(Facultatif) Renommer des champs de colonne

Vous pouvez renommer les champs de colonne en champs plus conviviaux. 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 colonne.

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 Éditeur Power Query’option Fermer et appliquer.

Créer le rapport de histogramme empilé

  1. Dans Power BI, sous Visualisations, choisissez le rapport de histogramme empilé. L’exemple suivant part du principe que personne n’a renommé de colonnes.

    Capture d’écran des sélections de champs visualisation pour le rapport de graphique en colonnes empilées avec échecs intermédiaires.

  2. Ajoutez PipelineRunCompletedOn.Date à l’axe X, cliquez dessus avec le bouton droit, puis sélectionnez PipelineRunCompletedOn.Date, plutôt que Hiérarchie de dates.

  3. Ajoutez-y FailedStagedCount un clic droit sur l’axe Y, puis vérifiez que Sum est sélectionné.

  4. Ajouter PipelineJob.StageName à la légende.

  5. Pour modifier le titre du rapport, la légende ou d’autres visuels de rapport, sélectionnez l’icône Mettre en forme votre pinceau visuel dans le volet Visualisations et ajustez un ou plusieurs paramètres.

Votre rapport doit ressembler à l’image suivante.

Capture d’écran du rapport de colonnes empilées d’exemples de pipelines Power BI Pipelines.