Udostępnij za pośrednictwem


Przykładowy raport dotyczący niepowodzeń etapu potoku

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

W tym artykule pokazano, jak utworzyć raport dziennych niepowodzeń etapu potoku. Ten raport jest podobny do wykresu "Trend awarii" raportu współczynnika przekazywania potoku.

Na poniższej ilustracji przedstawiono przykład raportu o błędach etapowych dla określonego potoku od października 2022 r. do 15 grudnia 2022 r.

Zrzut ekranu przedstawiający raport skumulowany kolumnowy potoków usługi Power BI.

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

  • Aby wyświetlić dane analizy i wykonać zapytanie dotyczące usługi, musisz być członkiem projektu z dostępem podstawowym lub większym. Domyślnie wszyscy członkowie projektu otrzymują uprawnienia do wykonywania zapytań w usłudze Analytics i definiowania widoków analizy.
  • Aby dowiedzieć się więcej o innych wymaganiach 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 znasz artykuł Omówienie przykładowych raportów przy użyciu zapytań OData i masz podstawową wiedzę na temat usługi Power BI.

Przykładowe zapytania

Raporty trendów błędów etapów, zadań lub zadań można utworzyć, wykonując PipelineRunActivityResults zapytania dotyczące zestawu jednostek.

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 EntitySetlub NavigationPropertyBinding Path . Każda z nich EntitySet odpowiada elementowi EntityType. Aby dowiedzieć się więcej o typie danych każdej wartości, przejrzyj metadane podane dla odpowiedniego EntityTypeelementu .

Trend niepowodzenia etapowego

Aby wyświetlić trend niepowodzenia etapowego dla określonego potoku z określonej daty, użyj następujących zapytań.

Możesz wkleić zapytanie usługi Power BI wymienione poniżej bezpośrednio w oknie Pobieranie zapytania pustego> danych. 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/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

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 Fabrikamcią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}'

Zwraca wyniki zadania dla określonego potoku.

and PipelineRunCompletedOn/Date ge {startdate}

Zwracaj wyniki zadania dla przebiegów potoku w dniu lub po określonej dacie.

and PipelineRunOutcome eq 'Failed'

Zwracaj wyniki zadania, w których wynik kompilacji zakończył się niepowodzeniem.

and TaskOutcome eq 'Failed'

Zwracaj wyniki zadania, w których wynik zadania zakończył się niepowodzeniem.

)

Zamknij filter klauzulę.

/groupby(

Klauzula Start groupby() .

(PipelineRunCompletedOn/Date, PipelineRunId, PipelineJob/StageName ),

Grupuj według daty ukończenia przebiegu potoku, identyfikator kompilacji i nazwę etapu.

aggregate (FailedCount with sum as FailedCount))

Dla każdego dnia identyfikator kompilacji i etap; zlicz łączną liczbę błędów. Będzie to łączna liczba niepowodzeń zadań, a nie awarii etapu.

/groupby(

Klauzula Start groupby() .

(PipelineRunCompletedOn/Date, PipelineJob/StageName ),

Grupuj według nazwy dnia i etapu.

aggregate

Klauzula Start aggregate .

(cast(FailedCount gt 0, Edm.Int32) with sum as FailedStageCount))

Dla każdego dnia zsumuj liczbę zakończonych niepowodzeniem etapu, a następnie zamknij klauzulę aggregate .

Trend niepowodzenia mądrego zadania

Aby wyświetlić trend niepowodzenia mądrego zadania, użyj następujących zapytań.

Możesz wkleić zapytanie usługi Power BI wymienione poniżej bezpośrednio w oknie Pobieranie zapytania pustego> danych. 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/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

Trend niepowodzenia mądrego zadania

Aby wyświetlić trend niepowodzenia mądrego zadania, użyj następujących zapytań.

Możesz wkleić zapytanie usługi Power BI wymienione poniżej bezpośrednio w oknie Pobieranie zapytania pustego> danych. 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/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

(Opcjonalnie) Zmienianie nazwy zapytania

Możesz zmienić nazwę domyślnej etykiety zapytania Query1 na bardziej zrozumiałą. Po prostu wprowadź nową nazwę w okienku Zapytanie Ustawienia.

Zrzut ekranu przedstawiający opcje menu zapytania usługi Power BI, zmień nazwę zapytania.

Rozwijanie kolumn w Edytor Power Query

Przed utworzeniem raportu należy rozwinąć następujące dwie kolumny. Aby dowiedzieć się, jak rozwinąć elementy robocze, zobacz Transform Analytics data to generate Power BI reports (Przekształcanie danych analizy w celu generowania raportów usługi Power BI).

  • Rozwiń PipelineJob do PipelineJob.StageName
  • Rozwiń PipelineRunCompletedOn do PipelineRunCompletedOn.Date

Zmienianie typu danych kolumny

Z menu Przekształć zmień typ danych kolumny FailedStageCount na KtoTo le Number. Aby dowiedzieć się, jak to zrobić, zobacz Przekształcanie typu danych kolumny.

(Opcjonalnie) Zmienianie nazwy pól kolumn

Możesz zmienić nazwy pól kolumn na pola, które są bardziej przyjazne dla użytkownika. 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.

Zrzut ekranu przedstawiający opcję zamknij i zastosuj Edytor Power Query.

Tworzenie raportu skumulowanego wykresu kolumnowego

  1. W usłudze Power BI w obszarze Wizualizacje wybierz raport Skumulowany wykres kolumnowy. W poniższym przykładzie przyjęto założenie, że nikt nie zmienił nazwy żadnych kolumn.

    Zrzut ekranu przedstawiający wybór pól wizualizacji dla raportów skumulowanego wykresu kolumnowego skumulowanego.

  2. Dodaj PipelineRunCompletedOn.Date do osi X, kliknij ją prawym przyciskiem myszy, a następnie wybierz pozycję PipelineRunCompletedOn.Date, a nie hierarchię dat.

  3. Dodaj FailedStagedCount do osi Y kliknij ją prawym przyciskiem myszy i upewnij się, że wybrano pozycję Suma .

  4. Dodaj PipelineJob.StageName do legendy.

  5. Aby zmienić tytuł raportu, legendę lub inne wizualizacje raportu, wybierz ikonę Formatuj ikonę pędzla do malowania wizualizacji w okienku Wizualizacje i dostosuj co najmniej jedno ustawienie.

Raport powinien wyglądać podobnie do poniższej ilustracji.

Zrzut ekranu przedstawiający przykładowy raport kolumnowy potoków usługi Power BI po stronie etapowej.