Exemple de rapport de tendance de durée du pipeline

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

Cet article explique comment créer un rapport qui montre combien de temps votre pipeline prend généralement pour réussir. La tendance quotidienne du rapport de durée du pipeline est similaire au graphique de tendances du taux de pipeline du rapport de taux de transmission de pipeline.

L’image suivante montre un exemple de rapport de tendance de durée.

Capture d’écran du rapport de tendance de durée des pipelines Power BI.

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

  • Accès : être membre d’un projet avec au moins un accès de base .
  • Autorisations : 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 durée de pipeline 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 à 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 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.

Obtenir la 80e tendance de durée du centile pour un pipeline spécifié

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. 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 (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,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 des exécutions de pipeline pour le pipeline spécifié.

and CompletedDate ge {startdate}

Le pipeline de retour s’exécute à la date spécifiée ou après celle-ci.

and (SucceededCount eq 1 or PartiallySucceededCount eq 1)

Retournez uniquement les exécutions réussies ou partiellement réussies.

)

Clause Close filter() .

/compute(

Clause Start compute() .

percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds)

Calculez le 80e centile des durées de pipeline de toutes les exécutions de pipeline qui correspondent aux critères de filtre.

/groupby(

Démarrer groupby()

(Duration80thPercentileInSeconds, CompletedOn/Date))

Regrouper par date d’achèvement de l’exécution du pipeline et la durée calculée du 80e centile du pipeline.

&$orderby=CompletedOn/Date asc

Commandez la réponse par date de fin.

Filtrer par ID de pipeline, plutôt que par nom 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. Vous pouvez obtenir l’ID de pipeline à partir de l’URL de la page d’exécutions du pipeline.

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

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. 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 (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Obtenir le 50e et le 90e centile, ainsi que la tendance de la durée du 80e centile

Vous pouvez afficher la tendance de durée calculée à l’aide d’une autre valeur de centile. Les requêtes suivantes fournissent une durée de pipeline de 50e et de 90e centile, ainsi que le 80e centile.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. 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 (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.5,CompletedDateSK) as Duration50thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.90,CompletedDateSK) as Duration90thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds, Duration90thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Filtrer par branche

Pour afficher la tendance de durée d’un pipeline pour une branche particulière uniquement, utilisez les requêtes suivantes. Pour créer le rapport, effectuez les étapes supplémentaires suivantes, ainsi que ce qui est décrit dans le type de données modifier la colonne et créer les sections de rapport de graphique en courbes.

  • Développez Branch en Branch.BranchName.
  • Sélectionnez Segment de visualisation Power BI et ajoutez-le Branch.BranchName au champ du segment.
  • Sélectionnez le pipeline dans le segment pour lequel vous devez voir la tendance de durée du pipeline.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. 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 (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.8,BranchSK, CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, Branch/BranchName, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tendance de durée pour tous les pipelines de projet

Vous pouvez afficher la tendance de durée de 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 le type de données modifier la colonne et créer les sections de rapport de graphique en courbes.

  • Développez Pipeline en Pipeline.PipelineName.
  • Sélectionnez Segment dans le volet Visualisations et ajoutez-le Pipeline.PipelineNam au champ du segment.
  • Sélectionnez le pipeline dans le segment pour lequel vous devez voir la tendance du taux de passage du pipeline.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. 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 (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
                &") "
        &"/compute( "
        &"percentile_cont(TotalDurationSeconds, 0.8,PipelineId, CompletedDateSK) as Duration80thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration80thPercentileInSeconds, Pipeline/PipelineName, CompletedOn/Date)) "
                &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Développer des colonnes dans Éditeur Power Query

Avant de créer le rapport, vous devez développer des colonnes qui retournent des enregistrements contenant plusieurs champs. Dans cette instance, vous souhaiterez développer la CompletedOn colonne pour l’aplatir CompletedOn.Datesur .
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 du Duration80thPercentileInSeconds nombre décimal. Pour savoir comment procéder, consultez Transformer un type de données de colonne.

(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 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 graphique en courbes

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

    Capture d’écran des sélections de champs visualisation pour le rapport de tendance de durée d’exécution des pipelines.

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

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

Le rapport affiché doit ressembler à l’image suivante.

Capture d’écran du rapport de tendance de durée des pipelines Power BI.