Wykonywanie zapytań według daty lub bieżącej iteracji
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ń wyświetlających listę elementów roboczych na podstawie ich przypisania do bieżącego sprintu 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.
Warunki wstępne
Kategoria | Wymagania |
---|---|
poziomy dostępu | - Aby wyświetlić i uruchomić udostępnione zapytania: członek projektu. — Aby dodać i zapisać udostępnione zapytanie: wymagany jest co najmniej dostęp podstawowy . |
uprawnienia | Zestaw uprawnień Contribute ustawiony na Zezwalaj dla folderu, do którego chcesz dodać zapytanie. Domyślnie grupa współautorów nie ma tego uprawnienia. |
Uwaga
Użytkownicy z dostępem Uczestnik projektu dla projektu publicznego mają pełny dostęp do funkcji zapytań, takich jak użytkownicy z dostępem Basic. Aby uzyskać więcej informacji, zobacz Szybki dostęp do zasobów interesariuszy.
Kategoria | Wymagania |
---|---|
poziomy dostępu | - Aby wyświetlić i uruchomić udostępnione zapytania: członek projektu. — Aby dodać i zapisać udostępnione zapytanie: co najmniej dostęp Podstawowy. |
uprawnienia | Zestaw uprawnień Contribute ustawiony na Zezwalaj dla folderu, do którego chcesz dodać zapytanie. Domyślnie grupa współautorów nie ma tego uprawnienia. |
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
Data i czas
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever
Makra: @StartOfDay
, @StartOfWeek
, @StartOfMonth
, @StartOfYear
, i @Today
.
Można użyć +/- _n_
z każdym z obsługiwanych makr.
TreePath
=, <>, Pod, Nie pod
Makro: @CurrentIteration
1 i @CurrentIteration +/- n
2 są prawidłowe dla pola Ś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 i jest obsługiwane tylko w przypadku uruchamiania z poziomu 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 odniesienie do 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
Możesz użyć makra @CurrentIteration
w zapytaniu w następujących klientach:
- 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 dotyczące dat
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 twojego 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 pozwala zobaczyć wersję WIQL dowolnego wpisu w Edytorze Zapytania.
Filtruj po
Uwzględnij te klauzule zapytania
Elementy utworzone w ciągu ostatnich 30 dni.
Elementy zmodyfikowane w określonej dacie.
Elementy rozwiązane dzisiaj.
Pozycje 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 sprintu. Makro <xref href="CurrentIteration" data-throw-if-not-resolved="False" data-raw-source="@CurrentIteration"></xref>
odnosi się do sprintu zdefiniowanego dla kontekstu bieżącego 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 o różnym przesunięciu. Aby uzyskać więcej informacji, zobacz Składnia języka zapytań elementów roboczych (WIQL).
Filtruj według
Uwzględnij te klauzule zapytania
Błędy 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, aby zapoznać się z zestawem pól, które można uwzględnić w zapytaniach oraz typach elementów roboczych, do których mają zastosowanie.
Utwórz zapytania dotyczące bieżącej iteracji zespołu
Jeśli twój zespół śledzi procesy Scrum, planujesz ukończenie pracy w sprintach. Postęp wymagań, błędów i innych zadań można śledzić w bieżącym sprincie przy użyciu makra @CurrentIteration
. Aby uzyskać więcej informacji, zobacz Zarządzanie harmonogramami sprintów.
Zapytanie znajduje dowolny element przypisany do sprintu, który odpowiada bieżącej ścieżce iteracyjnej dla zespołu. Jeśli na przykład zespół znajduje się w Sprincie 5, zapytanie zwraca elementy przypisane do Sprintu 5. Później, gdy zespół pracuje w Sprincie 6, to samo zapytanie zwraca elementy przypisane do Sprintu 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 sprintów zespołowych 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 Wybierz sprinty 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 .
Twórz okno przesuwne dla zapytania dotyczącego iteracji zespołu
Użyj makra @CurrentIteration +/- n
, jeśli chcesz śledzić pracę zespołu, którą zaplanowano na przyszłe sprinty i zrozumieć pracę, która nie została ukończona podczas poprzednich sprintów.
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 Wybierz ścieżki iteracji zespołu i ustaw domyślną ścieżkę iteracji.
Zobacz również Client restrictions on the use of the @CurrentIteration macros wcześniej w tym artykule.
Na poniższej ilustracji przedstawiono, jak wyświetlić listę wszystkich typów elementów roboczych Historia użytkownika i Usterka, które są przypisane do okna przesuwnego. Okno obejmuje ostatnie dwa sprinty, aktualny sprint oraz dwa nadchodzące sprinty wybrane dla zespołu ds. administracji chmury i narzędzi.
Aby użyć tego makra, określony zespół musi wybrać zestaw sprintów, które obejmują wartość +/- n
wprowadzoną w związku z tym makrem.
Lista elementów roboczych przeniesionych z sprintu
Wyświetl listę elementów roboczych zdefiniowanych na określoną iterację, które następnie zostały przeniesione poza nią, przy użyciu zapytania z klauzulą zawierającą operator Was Ever
dla pola Ścieżka iteracji. To zapytanie można skonstruować tylko przy użyciu składni WIQL. Edytuj składnię WIQL w Edytorze zapytań, instalując rozszerzenie WIQL Editor Marketplace.
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ę w obszarze zespołu Fabrikam Fiber Web.
- Elementy robocze nie znajdują się w stanie
Closed
,Completed
,Cut
lubResolved
. - Nie w bieżącej ścieżce iteracji dla zespołu webowego Fabrikam Fiber.
- Zostały przypisane do bieżącej ścieżki iteracji dla zespołu webowego 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ść sprintu).
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 edytora zapytań składni wygląda, jak to pokazano.
Uwaga
Edytor zapytań 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.
Wymień elementy robocze dodane do sprintu po dacie jego rozpoczęcia
Aby wyświetlić listę nowo utworzonych elementów roboczych dodanych do sprintu po jego rozpoczęciu, użyj zapytania podobnego do tego przedstawionego na poniższej ilustracji. To zapytanie działa przez filtrowanie elementów roboczych przypisanych do bieżącej iteracji, ale zostało utworzone po rozpoczęciu sprintu. Użyj klauzuli created Date = @Today - 28
.
Aby uzyskać inne opcje zapytań dotyczących zmian zakresu sprintu, zobacz Zmiana zakresu sprintu.
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 zmiany jego statusu ze stanu Closed
, Completed
lub Done
na stan New
lub Active
.
Nazwa odwołania=Microsoft.VSTS.Common.ActivatedDate, Typ danych=DateTime
Usterka, żądanie zmiany, epik, funkcja, problem, element listy prac produktu, wymaganie, przegląd, ryzyko, współdzielony krok, zadanie, przypadek testowy, historia użytkownika
Zmień datę
Data i godzina modyfikacji elementu roboczego.
Nazwa odwołania=System.ChangedDate, Typ danych=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 płatności
Szacowany termin rozwiązania problemu.
Nazwa odwołania=Microsoft.VSTS.Scheduling.DueDate, Typ danych=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, Typ danych=DateTime
Wymaganie, zadanie, plan testowy, historia użytkownika
Ścieżka iteracji
Grupuje elementy robocze według nazwanych sprintów lub okresów czasowych. 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, kiedy element roboczy został przeniesiony do stanu Resolved
.
Nazwa odwołania=Microsoft.VSTS.Common.ResolvedDate, Typ danych=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 wskazana w harmonogramie, gdy zadanie się rozpoczyna.
Uwaga
Plany realizacji używają pól Daty rozpoczęcia i Daty docelowej, aby wyświetlić zakres funkcji, epików i innych elementów listy prac portfela.
Nazwa odwołania=Microsoft.VSTS.Scheduling.StartDate, Typ danych=DateTime
Epopeja, Funkcja, Wymaganie, Zadanie, Plan Testów, Historia Użytkownika
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, do której ma zostać ukończona funkcjonalność, element roboczy lub rozwiązany problem.
Uwaga
Plany dostaw 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, Typ danych=DateTime
Epik, funkcja
Uwagi:
Zobacz też Zapytanie według przydziału lub zmian w przepływie 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 w definicjiFIELDS
podczas przechodzenia do stanuResolved
.<FIELD refname="Microsoft.VSTS.Common.ResolvedDate" /> <SERVERDEFAULT from="clock" /> </FIELD >
Daty rozpoczęcia i zakończenia są obliczane, gdy 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 polecenie
TFSFieldMapping
nie są obsługiwane dla:- 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 Marketplace, takie jak 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: