Exemple de rapport de tendance de durée du pipeline

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

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

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

Capture d'écran du rapport sur la tendance de la durée des pipelines Power BI.

Remarque

Les exemples de requêtes de cet article nécessitent une version préliminaire v3.0 ou une version ultérieure du flux OData Analytics. Partagez vos 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 suppose que vous lisez Overview 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

Pour créer des rapports de tendances de durée de pipeline différents mais similaires, utilisez les requêtes suivantes de l’ensemble PipelineRuns d’entités.

Remarque

Pour rechercher les propriétés disponibles pour le filtrage ou la création de rapports, consultez la référence Metadata pour Azure Pipelines. Vous pouvez filtrer des requêtes ou retourner des propriétés à l’aide de n’importe quelle Property valeur définie sous un EntityType, ou toute NavigationPropertyBinding Path valeur répertoriée pour un EntitySet. Chaque EntitySet mappe vers un EntityType qui documente le type de données pour chaque propriété.

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

Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. 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 décomposition des requêtes

Remplacez les chaînes suivantes par vos valeurs. N’incluez pas les accolades {} dans votre substitution. Par exemple, si le nom de votre organisation est « Fabrikam », remplacez {organization} par Fabrikam, et non {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 : YYYY-MM-DD suivi de Z (indicateur UTC). Exemple : 2026-09-01Z représente le 1er septembre 2026. Ne placez pas entre guillemets ou crochets.

Répartition des requêtes

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

Composant de requête

Description


$apply=filter(

Commencez la filter() clause.

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 (SucceededCount eq 1 or PartiallySucceededCount eq 1)

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

)

Fermer la clause filter().

/compute(

Commencez la compute() clause.

percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds)

Calcule le 80e percentile des durées de pipeline pour toutes les exécutions de pipeline correspondant aux critères de filtre.

/groupby(

Démarre la groupby() clause.

(Duration80thPercentileInSeconds, CompletedOn/Date))

Regroupe par date d’achèvement et par durée de pipeline calculée au 80e percentile.

&$orderby=CompletedOn/Date asc

Classe les réponses par date d’achèvement.

Filtrer par ID de pipeline, plutôt que par nom de pipeline

Vous pouvez renommer des pipelines. Pour vous assurer que les rapports Power BI ne s'arrêtent pas lorsque vous modifiez le nom du pipeline, utilisez l'ID de pipeline au lieu du nom du pipeline. Pour obtenir l’ID d’un pipeline, consultez l’URL de la page des exécutions de pipeline.

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

Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. 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’autres valeurs de centile. Les requêtes suivantes fournissent les 50e et 90e centiles de la durée du pipeline ainsi que le 80e centile.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. 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, suivez ces étapes supplémentaires ainsi que celles décrites dans les sections Modifier le type de données de la colonne et Créer le rapport de graphique linéaire.

  • Développez Branch en Branch.BranchName.
  • Sélectionnez Segment de visualisation Power BI et ajoutez Branch.BranchName au Champ du segment.
  • Sélectionnez, dans le segment, la branche pour laquelle vous souhaitez afficher la tendance de la durée du pipeline.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. 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 pour tous les pipelines du projet dans un seul rapport. Pour créer le rapport, suivez ces étapes supplémentaires ainsi que celles décrites dans les sections Modifier le type de données de la colonne et Créer le rapport de graphique linéaire.

  • Développez Pipeline en Pipeline.PipelineName.
  • Sélectionnez Segment dans le volet Visualisations et ajoutez le Pipeline.PipelineName au Champ du segment.
  • Sélectionnez, dans le segment, le pipeline pour lequel vous souhaitez afficher la tendance de durée.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. 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 les colonnes dans l’éditeur Power Query

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

Modifier le type de données de colonne

Dans le menu Transformer , remplacez le type de données par Duration80thPercentileInSecondsnombre 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 colonnes pour qu’elles soient plus faciles à utiliser. Pour savoir comment procéder, consultez Renommer les champs de colonnes.

Fermez la requête et appliquez vos modifications

Lorsque vous avez terminé toutes vos transformations de données, sélectionnez Fermer & Appliquer dans le menu Accueil . Cette action enregistre la requête et vous renvoie à l’onglet Report dans Power BI.

Capture d'écran de l'option Fermer et Appliquer dans Éditeur Power Query.

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

  1. Dans Power BI, sous Visualizations, choisissez le rapport Line chart.

    Capture d’écran des champs de visualisation sélectionnés pour le rapport sur la tendance de la 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 Duration80thPercentileInSeconds à l’axe des Y, cliquez dessus avec le bouton droit, puis vérifiez que Somme est sélectionné.

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

Capture d'écran d'un exemple de rapport Power BI sur la tendance de la durée des pipelines.