Udostępnij za pośrednictwem


Wykonywanie zapytań według daty lub bieżącej iteracji w usłudze Azure Boards

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

W tym artykule dowiesz się, jak wyświetlić listę elementów roboczych na podstawie ich utworzenia, zamknięcia, rozwiązania lub zmiany. Możesz określić datę lub użyć obsługiwanego makra. Użyj makra @Today i określ plus lub minus liczbę dni dla dat względnych. W przypadku zapytań, które wyświetlają listę elementów roboczych na podstawie ich przypisania do bieżącego przebiegu zespołu, użyj polecenia @CurrentIteration.

Na przykład znajdź elementy robocze, które zostały zmodyfikowane w ciągu ostatnich trzech dni, za pomocą następującego zapytania.

Zrzut ekranu przedstawiający Edytor Power Query przedstawiający pole Zmieniona data ustawioną na >= 3.

Ponadto możesz użyć makra CurrentIteration +/- _n_ do tworzenia zapytań na podstawie przesuwanego okna iteracji zespołu.

Obsługiwane operatory i makra

Klauzule zapytania określające pole DateTime lub pole Ścieżka iteracji mogą używać operatorów i makr wymienionych w poniższej tabeli.


Typ danych

Obsługiwane operatory i makra


DateTime

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever

Makra: @StartOfDay, , @StartOfMonth@StartOfWeek, @StartOfYeari @Today. Można użyć +/- _n_ z każdym z obsługiwanych makr.


TreePath

=, <>, under, not under
Makra: @CurrentIteration1 i @CurrentIteration +/- n2 prawidłowe z polem Ścieżka iteracji.


Uwagi:

  1. Makra @StartOfDay, @StartOfWeek, @StartOfMonthi @StartOfYear są obsługiwane w przypadku usługi Azure DevOps Server 2019.1 i nowszych wersji. Są one obsługiwane tylko w przypadku uruchamiania z portalu internetowego.
  2. Makro @CurrentIteration +/- n jest obsługiwane w przypadku usługi Azure DevOps Server 2019 i nowszych wersji. Jest obsługiwana tylko w przypadku uruchamiania z portalu internetowego.

Napiwek

Operator WasEver może być używany z polem Ścieżka iteracji, ale tylko wtedy, gdy jest definiowany za pomocą składni WIQL. Aby zapoznać się z przykładem, zobacz Dokumentacja składni języka zapytań elementów roboczych (WIQL).

Wzorzec daty i godziny

Wzorzec daty i godziny wprowadzony dla pól DateTime powinien być zgodny z wzorcem wybranym przez profil. Aby wyświetlić lub zmienić wybór, zobacz Ustawianie preferencji użytkownika.

Zrzut ekranu przedstawiający opcje listy rozwijanej Wzorzec daty w okienku Czas i ustawienia regionalne.Zrzut ekranu przedstawiający opcje listy rozwijanej Wzorzec czasu w okienku Czas i ustawienia regionalne.

Zrzut ekranu przedstawiający okienko Czas i ustawienia regionalne z polami Wzorzec daty i Wzorzec godziny.

Ograniczenia klienta dotyczące korzystania z @CurrentIteration makr

Makro można użyć @CurrentIteration w zapytaniu z następujących klientów:

  • Portal internetowy łączący się z usługą Azure Boards
  • Visual Studio 2019 lub nowsze wersje połączone z usługą Azure Boards
  • Interfejs API REST

Makro można użyć @CurrentIteration +/- n w zapytaniu względem usługi Azure Boards, usługi Azure DevOps Server 2019 i nowszych wersji oraz interfejsu API REST, który zawiera zespół jako parametr. Może to być na przykład @CurrentIteration('[Project]\Team').

Jeśli otworzysz zapytanie zawierające @CurrentIteration makro we wcześniejszych wersjach programu Visual Studio lub programu Microsoft Excel lub Microsoft Project, wystąpi błąd. Ponadto nie można używać makra podczas kopiowania lub klonowania zestawów testów i przypadków testowych, definiowania alertów lub interfejsów API REST.

Zapytania oparte na datach

Filtruj elementy robocze według daty, w której zostały zmienione lub przez określony okres. Ogranicz zakres zapytania. Takie podejście może pomóc w wydajności, zwracając tylko wyniki pasujące do uwzględnionego zakresu dat. Jeśli dopiero zaczynasz tworzyć zapytania, zobacz Definiowanie zapytania elementu roboczego.

Nie wszystkie pola są prawidłowe dla wszystkich typów elementów roboczych. Przejdź do pól dat dla zestawu pól, które można uwzględnić w zapytaniach i typach elementów roboczych, do których mają zastosowanie.

Napiwek

  • Pamiętaj, aby wprowadzić daty w polu Wzorzec daty ustawionym dla profilu osobistego.
  • Aby zrozumieć sposób AND/OR grupowania klauzul, zobacz Klauzule grupy. Aby wyświetlić składnię WIQL dla zapytania, zainstaluj rozszerzenie edytora WIQL, które umożliwia wyświetlenie wersji WIQL dowolnego wpisu Edytor Power Query.

Filtruj dla

Uwzględnij te klauzule zapytania


Elementy utworzone w ciągu ostatnich 30 dni.

Zrzut ekranu przedstawiający klauzulę Edytor Power Query dotyczącą znajdowania elementów utworzonych w ciągu ostatnich 30 dni.


Elementy zmodyfikowane w określonej dacie.

Zrzut ekranu przedstawiający klauzulę Edytor Power Query dotyczącą znajdowania elementów zmienionych w określonej dacie.


Elementy rozwiązane dzisiaj.

Zrzut ekranu przedstawiający klauzulę Edytor Power Query dotyczącą znajdowania elementów rozwiązanych dzisiaj.


Elementy zamknięte w określonym przedziale czasu.

Zrzut ekranu przedstawiający klauzulę Edytor Power Query dotyczącą znajdowania elementów zamkniętych w określonym przedziale czasu.


Elementy, które nie są zamknięte. Data zamknięcia ma wartość null.

Zrzut ekranu przedstawiający klauzulę Edytor Power Query dotyczącą znajdowania elementów, których data zamknięcia jest pusta lub ma wartość null.


Elementy, których stan został zaktualizowany w ciągu ostatniego tygodnia.

Zrzut ekranu przedstawiający klauzulę Edytor Power Query dla elementów, których stan został zaktualizowany w ciągu ostatniego tygodnia.


Elementy zamknięte podczas bieżącego przebiegu. Makro <xref href="CurrentIteration" data-throw-if-not-resolved="False" data-raw-source="@CurrentIteration"></xref> odnosi się do przebiegu zdefiniowanego dla bieżącego kontekstu zespołu.

Zrzut ekranu przedstawiający klauzulę Edytor Power Query dla elementów zamkniętych podczas bieżącego przebiegu.


Tworzenie zapytań opartych na datach rozpoczęcia dnia, tygodnia, miesiąca lub roku

W poniższych przykładach pokazano, jak używać StartOf... makr do filtrowania elementów roboczych z różnymi przesunięciami. Aby uzyskać więcej informacji, zobacz Składnia języka zapytań elementów roboczych (WIQL).

Uwaga

Wymaga usługi Azure DevOps Server 2019 Update 1 lub nowszej wersji.

Filtruj dla

Uwzględnij te klauzule zapytania


Usterki zamknięte w ciągu ostatnich dwóch tygodni.

Zrzut ekranu przedstawiający klauzulę Edytor Power Query dotyczącą znajdowania usterek zamkniętych w ciągu ostatnich dwóch tygodni.


Elementy zmodyfikowane w ciągu ostatnich 10 dni.

Zrzut ekranu przedstawiający klauzule Edytor Power Query dotyczące znajdowania elementów zmienionych w ciągu ostatnich 10 dni.


Funkcje zaplanowane do ukończenia w ciągu najbliższych trzech miesięcy.

Zrzut ekranu przedstawiający klauzule Edytor Power Query dotyczące funkcji zaplanowanych do ukończenia w ciągu najbliższych trzech miesięcy.


Nie wszystkie pola są prawidłowe dla wszystkich typów elementów roboczych. Przejdź do pól dat dla zestawu pól, które można uwzględnić w zapytaniach i typach elementów roboczych, do których mają zastosowanie.

Tworzenie zapytań dotyczących bieżącej iteracji zespołu

Jeśli twój zespół śledzi procesy Scrum, planujesz ukończenie pracy w sprintach. Postęp wymagań, usterek i innych zadań można śledzić w bieżącym przebiegu przy użyciu makra @CurrentIteration . Aby uzyskać więcej informacji, zobacz Zarządzanie osiami czasu przebiegu.

Zapytanie znajduje dowolny element przypisany do przebiegu, który odpowiada bieżącej ścieżce iteracji dla zespołu. Jeśli na przykład zespół znajduje się w przebiegu 5, zapytanie zwraca elementy przypisane do przebiegu 5. Później, gdy zespół pracuje w przebiegu 6, to samo zapytanie zwraca elementy przypisane do przebiegu 6.

Uwaga

@CurrentIteration Aby makro działało, zespół musi wybrać ścieżkę iteracji, której zakres dat obejmuje bieżącą datę. Aby uzyskać więcej informacji, zobacz Wybieranie przebiegów zespołu i ustawianie domyślnej ścieżki iteracji. Ponadto zapytania zawierające to makro są prawidłowe tylko podczas uruchamiania z portalu internetowego.

Zobacz również Client restrictions on the use of the @CurrentIteration macros wcześniej w tym artykule.

Usługa Azure Boards dodaje parametr zespołu po wybraniu makr @CurrentIteration lub @CurrentIteration +/- n . Parametr zespołu pochodzi z bieżącego kontekstu zespołu.

Zrzut ekranu przedstawiający filtr Zapytania przy użyciu makra CurrentIteration z parametrem zespołu.

Napiwek

@CurrentIteration Jeśli makro nie działa, sprawdź, czy dla twojego zespołu wybrano oczekiwaną iterację i czy ustawiono dla niego daty. Aby uzyskać więcej informacji, zobacz Wybieranie przebiegów zespołu.

Aby zmienić parametr zespołu, który system automatycznie ustawia, wybierz go, wprowadzając nazwę zespołu w polu parametru dodanym poniżej makra @CurrentIteration .

Zrzut ekranu przedstawiający wybór parametru zespołu.

Tworzenie okna przesuwanego zapytania iteracji zespołu

Użyj makra @CurrentIteration +/- n , jeśli chcesz śledzić pracę zespołu planowanego na potrzeby przyszłych przebiegów i poznać pracę, która nie została ukończona w poprzednich przebiegach.

Uwaga

@CurrentIteration +/- n Aby makro działało, zespół musi wybrać ścieżki iteracji spełniające +/- n kryteria. Zakresy dat muszą obejmować bieżącą datę dla elementu @CurrentIteration. Aby uzyskać więcej informacji na temat wybierania ścieżek iteracji przez zespół, zobacz Wybieranie przebiegów zespołu i ustawianie domyślnej ścieżki iteracji.

Zobacz również Client restrictions on the use of the @CurrentIteration macros wcześniej w tym artykule.

Na poniższej ilustracji pokazano, jak wyświetlić listę wszystkich typów elementów roboczych Historia użytkownika i Usterka przypisanych do okna przewijania. Okno obejmuje ostatnie dwa, bieżące i dwa kolejne przebiegi wybrane dla zespołu Administrator chmury i Narzędzia.

Zrzut ekranu przedstawiający klauzule CurrentIteration plus i minus.

Aby użyć tego makra, określony zespół musi wybrać zestaw przebiegów obejmujących +/- n wartość wprowadzoną dla makra.

Wyświetlanie listy elementów roboczych przeniesionych z przebiegu

Wyświetlanie listy elementów roboczych zdefiniowanych dla przebiegu, ale później przeniesionych przy użyciu zapytania z klauzulą zawierającą Was Ever operator dla pola Ścieżka iteracji. To zapytanie można skonstruować tylko przy użyciu składni WIQL. Edytuj składnię WIQL w Edytor Power Query, instalując rozszerzenie Witryny Marketplace edytora WIQL.

Na przykład następujące zapytania składniowe dotyczące elementów roboczych spełniają następujące kryteria:

  • Zdefiniowane w bieżącym projekcie.
  • Typ elementu roboczego to Historia użytkownika lub Usterka.
  • Elementy robocze znajdują się pod ścieżką obszaru zespołu sieci Web Fabrikam Fiber.
  • Elementy robocze nie znajdują się w Closedstanie , Completed, Cutlub Resolved .
  • Nie w bieżącej ścieżce iteracji dla zespołu internetowego Fabrikam Fiber.
  • Zostały przypisane do bieżącej ścieżki iteracji dla zespołu internetowego Fabrikam Fiber.
  • Są teraz przypisywane do bieżącej iteracji +1 dla zespołu internetowego Fabrikam Fiber.
  • Zostały zmienione w ciągu ostatnich 30 dni (długość przebiegu).
SELECT
    [System.Id],
    [System.WorkItemType],
    [System.AssignedTo],
    [System.Title],
    [System.State],
    [System.Tags],
    [System.IterationPath],
    [System.AreaPath]
FROM workitems
WHERE
    [System.TeamProject] = @project
    AND [System.WorkItemType] IN ('User Story', 'Bug')
    AND [System.AreaPath] UNDER 'FabrikamFiber\Web'
    AND NOT [System.State] IN ('Completed', 'Closed', 'Cut', 'Resolved')
    AND NOT [System.IterationPath] = @currentIteration('[FabrikamFiber]\Web <id:cdf5e823-1179-4503-9fb1-a45e2c1bc6d4>')
    AND (
        EVER (
            [System.IterationPath] = @currentIteration('[FabrikamFiber]\Web <id:cdf5e823-1179-4503-9fb1-a45e2c1bc6d4>')
        )
        AND [System.IterationPath] = @currentIteration('[FabrikamFiber]\Web <id:cdf5e823-1179-4503-9fb1-a45e2c1bc6d4>') + 1
        AND [System.ChangedDate] >= @today - 30
    )
ORDER BY [System.Id]

Widok Edytor Power Query składni jest wyświetlany, jak pokazano.

Uwaga

Edytor Power Query wyświetla ikonę informacji obok Was Ever operatora wskazującą problem z klauzulą . Jednak zapytanie nadal działa i można tworzyć wykresy zapytań. Aby zmodyfikować zapytanie, należy użyć edytora WIQL.

Zrzut ekranu przedstawiający Edytor Power Query elementów roboczych przeniesionych z przebiegu.

Wyświetlanie listy elementów roboczych dodanych do przebiegu po dacie rozpoczęcia

Aby wyświetlić listę nowo utworzonych elementów roboczych dodanych do przebiegu po dacie rozpoczęcia, użyj zapytania podobnego do przedstawionego na poniższej ilustracji. To zapytanie działa przez filtrowanie elementów roboczych przypisanych do bieżącego przebiegu, ale zostało utworzone po początku daty przebiegu. Użyj klauzuli created Date = @Today - 28.

Zrzut ekranu przedstawiający nowo utworzone elementy robocze Edytor Power Query i dodane do przebiegu po dacie rozpoczęcia.

Aby uzyskać inne opcje wykonywania zapytań dotyczących zmian zakresu przebiegu, zobacz Zmiana zakresu przebiegu.

Pola Data i Ścieżka iteracji

Użyj pól Data do filtrowania zapytań. Niektóre z tych pól są wypełniane informacjami, ponieważ element roboczy przechodzi z jednego stanu do drugiego. Kilka z tych pól nie jest wyświetlanych w formularzu elementu roboczego, ale są one śledzone dla tych typów elementów roboczych wymienionych w poniższej tabeli.

Nazwa pola

Opis

Typy elementów roboczych


Data aktywacji (notatki 1 i 2)

Data i godzina utworzenia elementu roboczego lub jego stan został zmieniony z Closed, Completedlub Done na New stan .Active

Nazwa odwołania=Microsoft.VSTS.Common.ActivatedDate, Data type=DateTime

Usterka, żądanie zmiany, epik, funkcja, problem, element listy prac produktu, wymaganie, przegląd, ryzyko, udostępniony krok, zadanie, przypadek testowy, historia użytkownika

Zmień datę

Data i godzina modyfikacji elementu roboczego.

Nazwa odwołania=System.ChangedDate, Data type=DateTime

wszystkie

Data zamknięcia (Uwaga 2)

Data i godzina zamknięcia elementu roboczego.

Nazwa odwołania=Microsoft.VSTS.Common.ClosedDate, Typ danych=DateTime

wszystkie

Data utworzenia

Data i godzina utworzenia elementu roboczego.

Nazwa odwołania=System.CreatedDate, Typ danych=DateTime

wszystkie

Termin

Prognozowana data ukończenia problemu, który ma zostać rozwiązany.

Nazwa odwołania=Microsoft.VSTS.Scheduling.DueDate, Data type=DateTime

Problem (Agile)

Data zakończenia (uwaga 3)

Data i godzina, kiedy harmonogram wskazuje, że zadanie zostało ukończone.

Nazwa odwołania=Microsoft.VSTS.Scheduling.FinishDate, Data type=DateTime

Wymaganie, zadanie, plan testowy, historia użytkownika

Ścieżka iteracji

Grupuje elementy robocze według nazwanych przebiegów lub okresów. Iteracja musi być prawidłowym węzłem w hierarchii projektu. Definiujesz ścieżki iteracji dla projektu i wybierasz ścieżki iteracji dla zespołu.

Nazwa odwołania=System.IterationPath, Typ danych=TreePath

wszystkie

Data rozwiązania (notatki 1 i 2)

Data i godzina przeniesienia elementu roboczego Resolved do stanu.

Nazwa odwołania=Microsoft.VSTS.Common.ResolvedDate, Data type=DateTime

Usterka, żądanie zmiany, epik, funkcja, problem, element listy prac produktu, wymaganie, przegląd, ryzyko, udostępniony krok, zadanie, przypadek testowy, historia użytkownika

Data rozpoczęcia (Uwaga 3)

Data i godzina rozpoczęcia harmonogramu wskazują, że zadanie jest uruchamiane.

Uwaga

Plany dostarczania używają pól Data rozpoczęcia i Data docelowa, aby wyświetlić zakres funkcji, epików i innych elementów listy prac portfela.

Nazwa odwołania=Microsoft.VSTS.Scheduling.StartDate, Data type=DateTime

Epic, Feature, Requirement, Task, Test Plan, User Story

Data zmiany stanu

Data i godzina zmiany wartości pola Stan .

Nazwa odwołania=Microsoft.VSTS.Common.StateChangeDate, Typ danych=DateTime

wszystkie

Data docelowa

Data ukończenia lub rozwiązania problemu funkcji, elementu roboczego lub problemu.

Uwaga

Plany dostarczania używają pól Data rozpoczęcia i Data docelowa, aby wyświetlić zakres funkcji, epików i innych elementów listy prac portfela.

Nazwa odwołania=Microsoft.VSTS.Scheduling.TargetDate, Data type=DateTime

Epik, funkcja

Uwagi:

  1. Zobacz też Artykuł Query by assignment or workflow changes (Wykonywanie zapytań według przydziału lub zmian przepływu pracy).

  2. Aby te pola były definiowane dla typu elementu roboczego, należy je uwzględnić w WORKFLOW sekcji definicji typu elementu roboczego. Na przykład ta składnia jest uwzględniana w FIELDS definicji podczas przechodzenia Resolved do stanu.

    <FIELD refname="Microsoft.VSTS.Common.ResolvedDate" />  
       <SERVERDEFAULT from="clock"  />  
    </FIELD >  
    
  3. Wartości Data rozpoczęcia i Data zakończenia są obliczane, jeśli tworzysz plan projektu w programie Project, a następnie synchronizujesz ten plan z zadaniami przechowywanymi w usłudze Azure Boards. Te pola mogą nie być wyświetlane w formularzu elementu roboczego, ale są obliczane dla elementów listy prac i zadań połączonych z elementami listy prac. Możesz wyświetlić ich wartości tylko do odczytu w wynikach zapytania lub z programu Excel.

    Ważne

    Integracja z programem Microsoft Project i TFSFieldMapping polecenie nie są obsługiwane w następujących celach:

    • Visual Studio 2019 i Azure DevOps Office Integration 2019.
    • Azure DevOps Server 2019 i nowsze wersje, w tym Azure DevOps Services.

    Pełna obsługa integracji programu Microsoft Excel jest utrzymywana, umożliwiając zbiorcze importowanie i aktualizowanie elementów roboczych. Alternatywy dla korzystania z programu Microsoft Project obejmują:

Interfejs API REST

Aby programowo korzystać z zapytań, zobacz jeden z następujących zasobów interfejsu API REST: