Otwarte błędy lub przykładowe raporty historii użytkowników

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

Aby wygenerować raport zawierający listę otwartych usterek lub scenariuszy użytkownika, wybierz raport Macierz w Power BI i użyj zapytania podobnego do tych podanych w tym artykule. Wygenerowany raport zawiera listę otwartych usterek lub historyjek użytkownika podzielonych według pól State (Stan) i Assigned To (Przypisane do), jak pokazano na poniższym obrazie.

Zrzut ekranu przedstawiający raport z przykładowej macierzy otwartych usterek.

Uwaga

W tym artykule założono, że przeczytasz Przegląd przykładowych raportów przy użyciu zapytań OData i masz podstawową wiedzę na temat Power BI.

Kategoria Wymagania
poziomy dostępu - Członek projektu.
— Co najmniej dostęp poziomu Podstawowego.
Uprawnienia użytkownika 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.

Przykładowe zapytania

Ten artykuł zawiera kilka zapytań filtrujących błędy lub scenariusze użytkowników według ścieżki obszaru, ścieżki iteracji lub zespołu. Wszystkie te zapytania określają WorkItems zestaw jednostek, gdy zwracają bieżące, a nie historyczne dane.

Uwaga

Aby znaleźć dostępne właściwości do filtrowania lub raportowania, zapoznaj się z Odwołaniem do metadanych dla Azure Boards. Zapytania lub właściwości zwracane można filtrować przy użyciu dowolnej Property wartości zdefiniowanej pod EntityType, lub dowolnej NavigationPropertyBinding Path wartości wymienionej dla EntitySet. Każda EntitySet mapuje na EntityType, który dokumentuje typ danych dla każdej właściwości.

Usterki filtrowane według Ścieżki Obszaru

Skopiuj i wklej następujące zapytanie Power BI bezpośrednio do okna Pobierz dane>Blnk Query. 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/WorkItems?"
        &"$filter=WorkItemType eq 'Bug' "
            &"and StateCategory ne 'Completed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Łańcuchy zastępcze i analiza zapytań

Zastąp następujące ciągi swoimi wartościami. Nie uwzględniaj nawiasów klamrowych {} w podstawieniu. Jeśli na przykład nazwa organizacji to "Fabrikam", zastąp ciąg {organization}Fabrikam, a nie {Fabrikam}.

  • {organization} — Nazwa organizacji
  • {project} — Nazwa projektu zespołowego lub całkowicie pomiń "/{project}" dla zapytania obejmującego wiele projektów
  • {areapath} — Ścieżka obszaru. Przykładowy format: Project\Level1\Level2

Podział zapytań

W poniższej tabeli opisano każdą część zapytania.

Część kwerendy

Opis

$filter=WorkItemType eq 'Bug'

Zwraca błędy.

and StateCategory ne 'Completed'

Filtruje ukończone elementy. Aby uzyskać więcej informacji na temat kategorii stanów, zobacz Jak stany kategorii przepływu pracy są używane w listach prac i tablicach Azure Boards.

and startswith(Area/AreaPath,'{areapath}')

Filtruje elementy robocze w ramach określonej ścieżki obszaru. Aby filtrować według nazwy zespołu, użyj instrukcji Teams/any(x:x/TeamName eq '{teamname}')filter .

&$select=WorkItemId, Title, WorkItemType, State, Priority, Severity, TagNames

Wybiera pola, które mają zostać zwrócone.

&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath)

Wybiera pola właściwości, które można rozwinąć, AssignedTo, Iteration i Area.

Usterki filtrowane według zespołów

Możesz wykonywać zapytania dotyczące otwartych usterek przez co najmniej jedną drużynę, a nie ścieżkę obszaru.

Skopiuj i wklej następujące zapytanie Power BI bezpośrednio do okna Pobierz dane>Blnk Query. 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/WorkItems?"
        &"$filter=WorkItemType eq 'Bug' "
            &"and StateCategory ne 'Completed' "
            &"and (Teams/any(x:x/TeamName eq '{teamname}') or Teams/any(x:x/TeamName eq '{teamname}') or Teams/any(x:x/TeamName eq '{teamname}')) "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Scenariusze użytkownika w określonej ścieżce obszaru i ścieżce iteracji

Poniższe zapytanie umożliwia filtrowanie opowieści użytkowników według określonej ścieżki obszaru i ścieżki iteracji.

Skopiuj i wklej następujące zapytanie Power BI bezpośrednio do okna Pobierz dane>Blnk Query. 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/WorkItems?"
        &"$filter=WorkItemType eq 'User Story' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and startswith(Iteration/IterationPath,'{iterationpath}') "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
    ,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łą. Wprowadź nową nazwę w okienku Ustawienia zapytania .

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

Rozwijanie kolumn w Edytor Power Query

Klauzula &$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath) zwraca rekordy zawierające kilka pól. Przed utworzeniem raportu należy rozwinąć rekord, aby spłaszczać go w określone pola. W tym przypadku chcesz rozwinąć następujące rekordy:

  • AssignedTo
  • Area
  • Iteration

Aby uzyskać więcej informacji, zobacz Transform Analytics dane do generowania raportów Power BI.

(Opcjonalnie) Zmienianie nazwy pól kolumn

Możesz zmienić nazwy pól kolumn na bardziej przyjazne dla użytkownika. 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 . Ta akcja zapisuje zapytanie i zwraca cię do karty Report w Power BI.

Zrzut ekranu przedstawiający opcję Zamknij i Zastosuj w Edytor Power Query.

Utwórz raport macierzy

  1. W Power BI w obszarze Visualizations wybierz raport Matrix.

    Zrzut ekranu wizualizacji i pól Power BI dla raportu o otwartych błędach.

  2. Dodaj Assigned To do wierszy.

  3. Dodaj State do kolumn.

  4. Dodaj WorkItemId do Wartości. Kliknij prawym przyciskiem myszy WorkItemId i upewnij się, że wybrano opcję Liczba .

Zostanie wyświetlony przykładowy raport.

Zrzut ekranu przedstawiający przykładowy raport macierzy otwartych usterek.