Udostępnij za pośrednictwem


Otwieranie usterek lub przykładowych raportów scenariuszy użytkowników

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

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

Zrzut ekranu przedstawiający przykładowy raport macierzy otwórz usterki.

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.

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.

Przykładowe zapytania

Dostępnych jest kilka zapytań, które filtrują 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 określić dostępne właściwości dla celów filtru lub raportu, zobacz Dokumentacja metadanych dla usługi Azure Boards. 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 .

Usterki filtrowane według ścieżki obszaru

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/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

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 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'

Zwracanie usterek.

and StateCategory ne 'Completed'

Odfiltruj ukończone elementy. Aby uzyskać więcej informacji na temat kategorii stanów, zobacz How workflow category states are used in Azure Boards backlogs and boards (Jak są używane stany kategorii przepływu pracy w listach prac i tablicach usługi Azure Boards).

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

Filtruj 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

Wybierz pola, które mają być zwracane.

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

Wybierz pola AssignedTowłaściwości z możliwością rozwinięcia, , IterationArea.

Scenariusze użytkowników filtrowane przez zespoły

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

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/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 obsługuje filtrowanie historii użytkowników dla określonej ścieżki obszaru i ścieżki iteracji.

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/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łą. 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

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 należy rozwinąć następujące rekordy:

  • AssignedTo
  • AreaPath
  • IterationPath

Aby dowiedzieć się, jak to zrobić, zobacz Transform Analytics data to generate Power BI reports (Przekształcanie danych analizy w celu generowania raportów usługi Power BI).

(Opcjonalnie) Zmienianie nazwy pól

Po rozwinięciu kolumn możesz zmienić nazwę co najmniej jednego pola. Możesz na przykład zmienić nazwę kolumny AreaPath na Area Path. 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 macierzy

  1. W usłudze Power BI wybierz raport Macierz w obszarze Wizualizacje.

    Zrzut ekranu przedstawiający opcje Wizualizacje i Pola usługi Power BI dla raportu Otwórz usterki.

  2. Dodaj Assigned To do wierszy.

  3. Dodaj State do kolumn.

  4. Dodaj wartość 1WorkItemId1 do pozycji Wartości, a następnie kliknij prawym przyciskiem myszy pozycję 1WorkItemId i upewnij się, że wybrano opcję Liczba .

Zostanie wyświetlony przykładowy raport.

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