Przykładowy raport podsumowania wyniku potoku
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Uruchomienie potoku reprezentuje pojedyncze wykonanie potoku. Podczas uruchamiania potok jest przetwarzany, a agenci przetwarzają co najmniej jedno zadania. Wyniki obejmują powodzenie, niepowodzenie, anulowanie i częściowe powodzenie. Aby utworzyć raporty pokazujące wyniki przebiegów potoku, należy wykonać zapytanie względem parametru "PipelineRuns entity set
".
Ten artykuł zawiera kilka zapytań i instrukcji dotyczących tworzenia raportu w celu uzyskania liczby przebiegów dla różnych wyników potoku.
Na poniższej ilustracji przedstawiono przykład raportu podsumowania wyników.
Ważne
Integracja usługi Power BI i dostęp do źródła danych OData usługi Analytics są ogólnie dostępne dla usług Azure DevOps Services i Azure DevOps Server 2020 i nowszych wersji. Przykładowe zapytania podane w tym artykule są prawidłowe tylko w przypadku usługi Azure DevOps Server 2020 i nowszych wersji oraz zależą od wersji 3.0 w wersji zapoznawczej lub nowszej. Zachęcamy do korzystania z tych zapytań i przekazywania opinii.
Wymagania wstępne
- Dostęp: być członkiem projektu z co najmniej dostępem podstawowym.
- Uprawnienia: domyślnie członkowie projektu mają uprawnienia do wykonywania zapytań w usłudze Analytics i tworzenia widoków.
- Aby uzyskać więcej informacji na temat innych wymagań wstępnych dotyczących włączania usługi i funkcji oraz ogólnych działań śledzenia danych, zobacz Uprawnienia i wymagania wstępne dotyczące dostępu do analizy.
Uwaga
W tym artykule założono, że zapoznasz się z omówieniem przykładowych raportów przy użyciu zapytań OData i masz podstawową wiedzę na temat usługi Power BI.
Przykładowe zapytania
Następujące zapytania PipelineRuns
zestawu jednostek umożliwiają tworzenie różnych, ale podobnych raportów podsumowania wyników potoku.
Uwaga
Aby określić dostępne właściwości dla celów filtru lub raportu, zobacz Dokumentacja metadanych dla usługi Azure Pipelines. Możesz filtrować zapytania lub zwracać właściwości przy użyciu dowolnej z Property
wartości dostępnych EntityType
w elemecie EntitySet
lub NavigationPropertyBinding Path
. Każda z nich EntitySet
odpowiada elementowi EntityType
. Aby uzyskać więcej informacji na temat typu danych każdej wartości, zapoznaj się z metadanymi podanymi dla odpowiedniego EntityType
elementu .
Czas trwania potoku dla nazwanego potoku
Następujące zapytania zwracają uruchomienia potoku dla określonego potoku z określonej daty rozpoczęcia.
Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań 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
Ciągi podstawienia i podział zapytań
Zastąp następujące ciągi wartościami. Nie dołączaj nawiasów {} do podstawienia. Na przykład jeśli nazwa organizacji to "Fabrikam", zastąp Fabrikam
ciąg {organization}
, a nie {Fabrikam}
.
{organization}
— Nazwa organizacji{project}
— Nazwa projektu zespołowego{pipelinename}
— Nazwa potoku. Przykład:Fabrikam hourly build pipeline
{startdate}
— Data rozpoczęcia raportu. Format: RRRR-MM-DDZ. Przykład:2021-09-01Z
reprezentuje 1 września 2021 r. Nie umieszczaj cudzysłowów ani nawiasów kwadratowych i używaj dwóch cyfr zarówno dla miesiąca, jak i daty.
Podział zapytań
W poniższej tabeli opisano każdą część zapytania.
Część kwerendy
Opis
$apply=filter(
Klauzula Start filter()
.
Pipeline/PipelineName eq '{pipelinename}'
Zwracanie przebiegów potoku dla określonego potoku.
and CompletedDate ge {startdate}
Potok zwracany jest uruchamiany w określonym dniu lub po określonej dacie.
)
Close, klauzula filter()
/aggregate(
Klauzula Start aggregate
dla wszystkich przebiegów potoku pasujących do kryteriów filtrowania.
$count as TotalCount,
Zlicz łączną liczbę przebiegów jako TotalCount
.
SucceededCount with sum as SucceededCount ,
Zlicz liczbę pomyślnych przebiegów jako SucceededCount
.
FailedCount with sum as FailedCount,
Zlicz liczbę przebiegów zakończonych niepowodzeniem jako FailedCount
.
PartiallySucceededCount with sum as PartiallySucceededCount ,
Zlicz liczbę częściowo pomyślnych przebiegów jako PartiallySucceededCount
.
CanceledCount with sum as CanceledCount
Zlicz liczbę anulowanych przebiegów jako CanceledCount
.
)
Zamknij aggregate()
klauzulę.
Podsumowanie wyniku przebiegu potoku dla określonego identyfikatora potoku
Nazwy potoków można zmienić. Aby upewnić się, że raporty usługi Power BI nie przerywają zmiany nazwy potoku, użyj identyfikatora potoku, a nie jego nazwy. Identyfikator potoku można uzyskać z adresu URL strony przebiegów potoku.
https://dev.azure.com/{organization}/{project}/_build?definitionId={pipelineid}
Następujące zapytania zwracają uruchomienia potoku dla określonego identyfikatora potoku i od określonej daty rozpoczęcia.
Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań 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
Podsumowanie wyniku przebiegu potoku filtrowane według gałęzi
Aby wyświetlić podsumowanie wyników potoku dla określonej gałęzi, użyj następujących zapytań. Aby utworzyć raport, wykonaj następujące czynności:
- Rozwiń
Branch
doBranch.BranchName
- Zmienianie typu danych kolumny
- Tworzenie raportu wykresu pierścieniowego
- Wybierz pozycję Fragmentator w okienku Wizualizacje i dodaj element
Branch.BranchName
do pola fragmentatora - Wybierz gałąź z fragmentatora, dla którego musisz wyświetlić podsumowanie wyników.
Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań 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
Podsumowanie wyniku uruchomienia potoku filtrowane według przyczyny kompilacji
Możesz wyświetlić podsumowanie wyników potoku tylko z określonych powodów kompilacji (Ręczne/ BatchedCI, Pull Request itd.). Aby utworzyć raport, wykonaj następujące czynności:
- Zmienianie typu danych kolumny
- Tworzenie raportu wykresu pierścieniowego
- Wybierz pozycję Fragmentator w okienku Wizualizacje i dodaj element
Pipeline.PipelineName
do pola fragmentatora - Wybierz potok z fragmentatora, dla którego chcesz wyświetlić podsumowanie wyników.
Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań 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
Podsumowanie wyników dla wszystkich potoków projektu
Możesz wyświetlić podsumowanie wyniku potoku dla wszystkich potoków projektu w jednym raporcie. Aby utworzyć raport, wykonaj następujące czynności:
- Rozwiń
Pipeline
doPipeline.PipelineName
- Zmienianie typu danych kolumny
- Tworzenie raportu wykresu pierścieniowego
- Wybierz pozycję Fragmentator w okienku Wizualizacje i dodaj element
Pipeline.PipelineName
do pola fragmentatora - Wybierz potok z fragmentatora, dla którego chcesz wyświetlić podsumowanie wyników.
Zobacz również Podsumowanie wyników dla wszystkich przykładowych raportów potoków, aby uzyskać szczegółowe instrukcje .
Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań 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
(Opcjonalnie) Zmienianie nazwy zapytania
Możesz zmienić nazwę domyślnej etykiety zapytania Query1 na bardziej zrozumiałą. Po prostu wprowadź nową nazwę w okienku Ustawienia zapytania.
Zmienianie typu danych kolumny
W Edytor Power Query wybierz kolumnęTotalCount
, a następnie wybierz pozycję Typ danych z menu Przekształć, a następnie wybierz pozycję Liczba całkowita. Aby uzyskać więcej informacji na temat zmiany typu danych, zobacz Przekształcanie danych analizy w celu generowania raportów usługi Power BI, Przekształcanie typu danych kolumny.
(Opcjonalnie) Zmienianie nazwy pól kolumn
Możesz zmienić nazwy pól kolumn. Możesz na przykład zmienić nazwę kolumny Pipeline.PipelineName
na Pipeline Name
, lub TotalCount
na Total Count
. Aby dowiedzieć się, jak to zrobić, zobacz Zmienianie nazwy pól kolumn.
Zamknij zapytanie i zastosuj zmiany
Po zakończeniu wszystkich przekształceń danych wybierz pozycję Zamknij i zastosuj z menu Narzędzia główne , aby zapisać zapytanie i wrócić do karty Raport w usłudze Power BI.
Tworzenie raportu wykresu pierścieniowego
W usłudze Power BI w obszarze Wizualizacje wybierz raport Pierścieniowy .
Dodaj następujące pola do wartości w podanej kolejności. Kliknij prawym przyciskiem myszy każde pole i upewnij się, że wybrano pozycję Suma .
CanceledCount
PartiallySucceededCount
.SucceededCount
FailedCount
Aby zmienić tytuł raportu, wybierz ikonę Formatuj wizualizację pędzla do malowania w okienku Wizualizacje , wybierz pozycję Ogólne, rozwiń pozycję Tytuł i zastąp istniejący tekst.
Na poniższej ilustracji przedstawiono wynikowy raport.