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
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.
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é
- requête Power BI
- Requête OData
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-DDsuivi deZ(indicateur UTC). Exemple :2026-09-01Zrepré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}
- requête Power BI
- Requête OData
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.
- requête Power BI
- Requête OData
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
BranchenBranch.BranchName. - Sélectionnez Segment de visualisation Power BI et ajoutez
Branch.BranchNameau Champ du segment. - Sélectionnez, dans le segment, la branche pour laquelle vous souhaitez afficher la tendance de la durée du pipeline.
- requête Power BI
- Requête OData
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
PipelineenPipeline.PipelineName. - Sélectionnez Segment dans le volet Visualisations et ajoutez le
Pipeline.PipelineNameau Champ du segment. - Sélectionnez, dans le segment, le pipeline pour lequel vous souhaitez afficher la tendance de durée.
- requête Power BI
- Requête OData
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.
Créer le rapport sous forme de graphique linéaire
Dans Power BI, sous Visualizations, choisissez le rapport Line chart.
Ajoutez
CompletedOn.Dateà l’axe X, cliquez dessus avec le bouton droit, puis sélectionnez CompletedOn.Date, plutôt que Hiérarchie de dates.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.
Contenu connexe
- Construire des requêtes OData pour Analytics
- Référence des métadonnées pour Azure Pipelines
- Exemples de rapports et index de référence rapide