管線階段明智失敗範例報告
Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020
本文說明如何建立管線每日階段失敗的報告。 此報告類似於管線通過率報告的「失敗趨勢」圖表。
下圖顯示從 2022 年 10 月到 2022 年 12 月 15 日特定管線的階段性失敗報告範例。
重要
Azure DevOps Services 和 Azure DevOps Server 2020 和更新版本的 Power BI 整合 和存取 Analytics Service 的 OData 摘要 已正式推出。 本文中提供的範例查詢僅適用於 Azure DevOps Server 2020 和更新版本,且相依於 v3.0-preview 或更新版本。 我們鼓勵您使用這些查詢並提供意見反應。
必要條件
- 若要檢視分析數據和查詢服務,您必須是具有基本存取權或更高許可權的項目成員。 根據預設,所有專案成員都會獲得查詢分析的許可權,並定義分析檢視。
- 若要瞭解有關服務與功能啟用和一般數據追蹤活動的其他必要條件,請參閱 存取分析的許可權和必要條件。
注意
本文假設您已閱讀 使用 OData 查詢 的範例報表概觀,並具備 Power BI 的基本瞭解。
範例查詢
您可以藉由查詢 PipelineRunActivityResults
實體集來建立階段、工作或作業失敗趨勢報告。
注意
若要判斷篩選或報表用途的可用屬性,請參閱 Azure Pipelines 的元數據參考。 您可以使用的 或 NavigationPropertyBinding Path
值EntitySet
底下EntityType
的任何Property
值來篩選查詢或傳回屬性。 每個 EntitySet
對應至 EntityType
。 若要深入瞭解每個值的數據類型,請檢閱針對對應 EntityType
提供的元數據。
階段性失敗趨勢
若要從指定日期檢視特定管線的階段性失敗趨勢,請使用下列查詢。
您可以將下面所列的 Power BI 查詢直接貼到 [取得資料空白>查詢 ] 視窗中。 如需詳細資訊,請檢閱 使用 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
替代字串和查詢明細
以您的值取代下列字串。 請勿在替代中包含括號 {} 。 例如,如果您的組織名稱為 「Fabrikam」 ,請將 取代 {organization}
為 Fabrikam
,而非 {Fabrikam}
。
{organization}
- 您的組織名稱{project}
- 您的小組項目名稱{pipelinename}
- 您的管線名稱。 範例:Fabrikam hourly build pipeline
{startdate}
- 開始報表的日期。 格式:YYYY-MM-DDZ。 範例:2021-09-01Z
代表 2021 年 9 月 1 日。 請勿以引號或括弧括住,並針對月份和日期使用兩位數。
查詢明細
下表描述查詢的每個部分。
查詢元件
說明
$apply=filter(
Start filter()
子句。
Pipeline/PipelineName eq '{pipelinename}'
傳回特定管線的工作結果。
and PipelineRunCompletedOn/Date ge {startdate}
傳回管線在指定日期或之後執行的工作結果。
and PipelineRunOutcome eq 'Failed'
傳回建置結果失敗的工作結果。
and TaskOutcome eq 'Failed'
傳回工作結果失敗的工作結果。
)
Close filter
子句。
/groupby(
Start groupby()
子句。
(PipelineRunCompletedOn/Date, PipelineRunId, PipelineJob/StageName ),
依完成管線執行日期、組建標識碼和階段名稱分組。
aggregate (FailedCount with sum as FailedCount))
針對每天,建置標識碼和階段;計算失敗總數。 這將是工作失敗的總數,而不是階段失敗。
/groupby(
Start groupby()
子句。
(PipelineRunCompletedOn/Date, PipelineJob/StageName ),
依日期和階段名稱分組。
aggregate
Start aggregate
子句。
(cast(FailedCount gt 0, Edm.Int32) with sum as FailedStageCount))
針對每天,加總階段失敗的次數,然後關閉 aggregate
子句。
任務明智失敗趨勢
若要檢視工作明智的失敗趨勢,請使用下列查詢。
您可以將下面所列的 Power BI 查詢直接貼到 [取得資料空白>查詢 ] 視窗中。 如需詳細資訊,請檢閱 使用 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
作業明智的失敗趨勢
若要檢視作業明智的失敗趨勢,請使用下列查詢。
您可以將下面所列的 Power BI 查詢直接貼到 [取得資料空白>查詢 ] 視窗中。 如需詳細資訊,請檢閱 使用 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
(選擇性)重新命名查詢
您可以將預設查詢標籤 Query1 重新命名為更有意義的專案。 只要從 [查詢 設定] 窗格中輸入新的名稱即可。
展開 Power Query 編輯器 中的數據行
建立報表之前,您必須展開下列兩個數據行。 若要瞭解如何展開工作專案,請參閱 轉換分析數據以產生Power BI報表。
- 展開
PipelineJob
至PipelineJob.StageName
- 展開
PipelineRunCompletedOn
至PipelineRunCompletedOn.Date
變更數據行數據類型
從 [轉換] 功能表中,將數據行的FailedStageCount
數據類型變更為 神秘 le Number。 若要瞭解如何,請參閱 轉換數據行數據類型。
(選擇性)重新命名數據行欄位
您可以將資料行欄位重新命名為更方便使用的資料行欄位。 例如,您可以將資料列 Pipeline.PipelineName
重新命名為 Pipeline Name
,或 TotalCount
重新命名為 Total Count
。 若要瞭解如何,請參閱 重新命名數據行欄位。
關閉查詢並套用您的變更
完成所有數據轉換之後,請從 [常用] 功能表選擇 [關閉及套用],以儲存查詢並返回 Power BI 中的 [報表] 索引卷標。
建立堆棧柱形圖報表
在 Power BI 的 [視覺效果] 下,選擇 [堆棧柱形圖] 報表。 下列範例假設沒有人重新命名任何數據行。
將 新增
PipelineRunCompletedOn.Date
至 X 軸,以滑鼠右鍵按兩下它,然後選取 [PipelineRunCompletedOn.Date],而不是 [日期階層]。將 新增
FailedStagedCount
至 Y 軸,以滑鼠右鍵按兩下它,並確定已選取 [總和]。新增
PipelineJob.StageName
至 圖例。若要變更報表標題、圖例或其他報表視覺效果,請從 [視覺效果] 窗格中選取 [格式化您的視覺效果油漆筆刷] 圖示,然後調整一或多個設定。
您的報表看起來應該類似下圖。
相關文章
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: