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.
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
, @StartOfYear
i @Today
.
Można użyć +/- _n_
z każdym z obsługiwanych makr.
TreePath
=, <>, under, not under
Makra: @CurrentIteration
1 i @CurrentIteration +/- n
2 prawidłowe z polem Ścieżka iteracji.
Uwagi:
- Makra
@StartOfDay
,@StartOfWeek
,@StartOfMonth
i@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. - 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.
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.
Elementy zmodyfikowane w określonej dacie.
Elementy rozwiązane dzisiaj.
Elementy zamknięte w określonym przedziale czasu.
Elementy, które nie są zamknięte. Data zamknięcia ma wartość null.
Elementy, 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.
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.
Elementy zmodyfikowane w ciągu ostatnich 10 dni.
Funkcje zaplanowane 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.
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 .
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.
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
Closed
stanie ,Completed
,Cut
lubResolved
. - 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.
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
.
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
, Completed
lub 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:
Zobacz też Artykuł Query by assignment or workflow changes (Wykonywanie zapytań według przydziału lub zmian przepływu pracy).
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 wFIELDS
definicji podczas przechodzeniaResolved
do stanu.<FIELD refname="Microsoft.VSTS.Common.ResolvedDate" /> <SERVERDEFAULT from="clock" /> </FIELD >
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ą:
- Plany dostarczania
- Rozszerzenia witryny Marketplace, takie jak Program Project Connect lub wykres GANTT
Powiązane artykuły
- Wykonywanie zapytań według zmian przydziału lub przepływu pracy
- Definiowanie ścieżek iteracji (przebiegu) i konfigurowanie iteracji zespołu
- Definiowanie zapytania elementu roboczego w usłudze Azure Boards
- Pola zapytań, operatory i makra
- Pola i atrybuty elementu roboczego
- Składnia języka zapytań elementów roboczych (WIQL)
Interfejs API REST
Aby programowo korzystać z zapytań, zobacz jeden z następujących zasobów interfejsu API REST: