パイプラインの結果の概要サンプル レポート
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
パイプラインの実行は、パイプラインの 1 回の実行を表します。 実行中にパイプラインが処理され、エージェントは 1 つ以上のジョブを処理します。 結果には、成功、失敗、取り消し、部分的に成功が含まれます。 パイプライン実行の結果を示すレポートを作成するには、"PipelineRuns" にクエリを 実行します entity set
。
この記事では、さまざまなパイプライン結果の実行数を取得するレポートを作成する方法に関するいくつかのクエリと手順について説明します。
次の図は、結果の概要レポートの例を示しています。
重要
Power BI の統合と Analytics サービスの OData フィードへのアクセスは、Azure DevOps Services および Azure DevOps Server 2020 以降のバージョンで一般提供されています。 この記事で提供されるサンプル クエリは、Azure DevOps Server 2020 以降のバージョンに対してのみ有効であり、v3.0-preview 以降のバージョンによって異なります。 これらのクエリを使用し、フィードバックをお寄せください。
前提条件
- アクセス: 少なくとも Basic アクセス権を持つプロジェクトのメンバーである。
- 権限: 既定では、プロジェクト メンバーは Analytics にクエリを実行し、ビューを作成する権限を持ちます。
- サービスと機能の有効化と一般的なデータ追跡アクティビティに関するその他の前提条件の詳細については、「Analytics にアクセスするためのアクセス許可と前提条件」を参照してください。
Note
この記事では、OData クエリを使用したサンプル レポートの概要を読み、Power BI の基本的な理解を持っていることを前提としています。
サンプル クエリ
エンティティ セットの次のクエリを PipelineRuns
使用して、異なる似たパイプライン結果の概要レポートを作成できます。
Note
フィルターまたはレポートの目的で使用可能なプロパティを決定するには、Azure Pipelines のメタデータ リファレンスを参照してください。 クエリをフィルター処理したり、 で使用可能な または 値のProperty
下EntityType
NavigationPropertyBinding Path
の値のいずれかを使用してプロパティをEntitySet
返したりできます。 各 は EntitySet
に EntityType
対応します。 各値のデータ型の詳細については、対応する EntityType
値に指定されたメタデータを確認してください。
名前付きパイプラインのパイプライン期間
次のクエリは、指定した開始日から特定のパイプラインのパイプライン実行を返します。
次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、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} "
&") "
&"/aggregate( "
&"$count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount , "
&"CanceledCount with sum as CanceledCount "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
置換文字列とクエリの内訳
次の文字列を実際の値に置き換えます。 置換に角かっこを {} 含めないでください。 たとえば、組織名が "Fabrikam" の場合は、 ではなく {Fabrikam}
を にFabrikam
置き換えます{organization}
。
{organization}
- 組織名{project}
- チーム プロジェクト名{pipelinename}
- パイプライン名。 例:Fabrikam hourly build pipeline
{startdate}
- レポートを開始する日付。 形式: YYYY-MM-DDZ。 例:2021-09-01Z
2021 年 9 月 1 日を表します。 引用符または角かっこで囲んで、月と日付の両方に 2 桁の数字を使用しないでください。
クエリの内訳
次の表では、クエリの各部分について説明します。
クエリ パーツ
説明
$apply=filter(
Start filter()
句。
Pipeline/PipelineName eq '{pipelinename}'
指定したパイプラインのパイプライン実行を返します。
and CompletedDate ge {startdate}
返されるパイプラインは、指定した日付以降に実行されます。
)
Close filter()
句
/aggregate(
フィルター条件に一致するすべてのパイプライン実行の開始 aggregate
句。
$count as TotalCount,
実行の合計数を次のように TotalCount
カウントします。
SucceededCount with sum as SucceededCount ,
成功した実行の数を次のように SucceededCount
カウントします。
FailedCount with sum as FailedCount,
失敗した実行の数を次のように FailedCount
カウントします。
PartiallySucceededCount with sum as PartiallySucceededCount ,
部分的に成功した実行の数を次のように PartiallySucceededCount
カウントします。
CanceledCount with sum as CanceledCount
取り消された実行の数を次のように CanceledCount
カウントします。
)
Close aggregate()
句。
特定のパイプライン ID のパイプライン実行結果の概要
パイプラインの名前を変更できます。 パイプライン名が変更されたときに Power BI レポートが中断されないようにするには、その名前ではなくパイプライン ID を使用します。 パイプライン ID は、パイプラインの実行ページの URL から取得できます。
https://dev.azure.com/{organization}/{project}/_build?definitionId={pipelineid}
次のクエリは、指定した開始日から、特定のパイプライン ID に対するパイプラインの実行を返します。
次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、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} "
&") "
&"/aggregate( "
&"$count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount , "
&"CanceledCount with sum as CanceledCount "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
分岐でフィルター処理されたパイプライン実行の結果の概要
特定のブランチのパイプラインの結果の概要を表示するには、次のクエリを使用します。 レポートを作成するには、次の手順を実行します。
- 次に展開します
Branch
。Branch.BranchName
- 列のデータ型を変更する
- ドーナツ グラフ レポートを作成する
- [視覚化] ウィンドウからスライサーを選択し、スライサーのフィールドに追加
Branch.BranchName
します - 結果の概要を表示する必要があるスライサーからブランチを選択します。
次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、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} "
&") "
&"/groupby( "
&"(Branch/BranchName), "
&"aggregate( "
&"$count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount , "
&"CanceledCount with sum as CanceledCount "
&")) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
ビルド理由でフィルター処理されたパイプライン実行結果の概要
特定 のビルド理由 (手動/BatchedCI、Pull Request など) についてのみ、パイプラインの結果の概要を表示できます。 レポートを作成するには、次の手順を実行します。
- 列のデータ型を変更する
- ドーナツ グラフ レポートを作成する
- [視覚化] ウィンドウからスライサーを選択し、スライサーのフィールドに追加
Pipeline.PipelineName
します - 結果の概要を表示する必要があるスライサーからパイプラインを選択します。
次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、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} "
&") "
&"/groupby( "
&"(RunReason), "
&"aggregate( "
&"$count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount , "
&"CanceledCount with sum as CanceledCount "
&")) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
すべてのプロジェクト パイプラインの結果の概要
すべてのプロジェクト パイプラインのパイプライン結果の概要を 1 つのレポートで表示できます。 レポートを作成するには、次の手順を実行します。
- 次に展開します
Pipeline
。Pipeline.PipelineName
- 列のデータ型を変更する
- ドーナツ グラフ レポートを作成する
- [視覚化] ウィンドウからスライサーを選択し、スライサーのフィールドに追加
Pipeline.PipelineName
します - 結果の概要を表示する必要があるスライサーからパイプラインを選択します。
詳細な手順については、すべてのパイプラインのサンプル レポートの結果の概要も参照してください。
次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、OData クエリを使用したサンプル レポートの概要を参照してください。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
&"$apply=filter( "
&"CompletedDate ge {startdate} "
&") "
&"/groupby( "
&"(Pipeline/PipelineName), "
&"aggregate( "
&"$count as TotalCount, "
&"SucceededCount with sum as SucceededCount , "
&"FailedCount with sum as FailedCount, "
&"PartiallySucceededCount with sum as PartiallySucceededCount , "
&"CanceledCount with sum as CanceledCount "
&")) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
(省略可能)クエリの名前を変更する
既定のクエリ ラベル Query1 の名前を、より意味のある名前に変更できます。 [ クエリ設定] ペインから新しい名前を入力するだけです。
列のデータ型を変更する
Power Query エディターから列をTotalCount
選択し、[変換] メニューから [データ型] を選択し、[整数] を選択します。 データ型の変更の詳細については、「 Analytics データを変換して Power BI レポートを生成する」の「列データ型の変換」を参照してください。
(省略可能)列フィールドの名前を変更する
列フィールドの名前を変更できます。 たとえば、列Pipeline.PipelineName
の名前を 、または TotalCount
Total Count
〗 にPipeline Name
変更できます。 方法については、「列フィールドの名前を変更する」を参照してください。
クエリを閉じて変更を適用する
すべてのデータ変換が完了したら、[ホーム] メニューから [閉じる] & [適用] を選択してクエリを保存し、Power BI の [レポート] タブに戻ります。
ドーナツ グラフ レポートを作成する
Power BI の [視覚化] で、ドーナツ レポートを選択します。
次のフィールドを値に指定された順序で追加します。 各フィールドを右クリックし、[合計] が選択されていることを確認します。
CanceledCount
PartiallySucceededCount
.SucceededCount
FailedCount
レポートのタイトルを変更するには、[視覚化] ウィンドウから [ビジュアル ペイント ブラシの書式設定] アイコンを選択し、[全般] を選択し、[タイトル] を展開して、既存のテキストを置き換えます。
次の図は、結果のレポートを示しています。