Udostępnij za pośrednictwem


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.

Zrzut ekranu przedstawiający Edytor zapytań pokazujący pole Zmieniona data ustawione na >= 3.

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: @CurrentIteration1 i @CurrentIteration +/- n2 są prawidłowe dla pola Ś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 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.

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 locale z polami Wzorzec daty i Wzorzec godziny.

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.

Zrzut ekranu przedstawiający klauzulę Edytora zapytań do znajdowania elementów utworzonych w ciągu ostatnich 30 dni.


Elementy zmodyfikowane w określonej dacie.

Zrzut ekranu przedstawiający klauzulę Edytor zapytań dotyczącą znajdowania elementów zmienionych na określoną datę.


Elementy rozwiązane dzisiaj.

Zrzut ekranu przedstawiający klauzulę Edytora zapytań dotyczącą znajdowania elementów rozwiązanych dzisiaj.


Pozycje zamknięte w określonym przedziale czasu.

Zrzut ekranu przedstawiający klauzulę Edytor zapytań 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ę Edytora zapytań 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ę Edytora zapytań dla elementów, których status 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.

Zrzut ekranu przedstawiający klauzulę Edytora zapytań dla elementów zamkniętych podczas bieżącego sprintu.


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.

Zrzut ekranu przedstawiający klauzulę w Edytorze zapytań dotyczącą znajdowania usterek zamkniętych w ciągu ostatnich dwóch tygodni.


Elementy zmodyfikowane w ciągu ostatnich 10 dni.

Zrzut ekranu pokazujący klauzule Edytora zapytań 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 Edytora zapytań 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, 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.

Zrzut ekranu pokazujący filtr Query 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 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 .

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

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.

Zrzut ekranu przedstawiający klauzule CurrentIteration plus i minus.

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 lub Resolved.
  • 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.

Zrzut ekranu przedstawiający Edytor zapytań z elementami roboczymi przeniesionymi z przebiegu.

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.

Zrzut ekranu przedstawiający nowo utworzone elementy robocze Edytora zapytań i dodane do przebiegu po jego dacie rozpoczęcia.

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:

  1. Zobacz też Zapytanie według przydziału lub zmian w przepływie 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 definicji FIELDS podczas przechodzenia do stanu Resolved.

    <FIELD refname="Microsoft.VSTS.Common.ResolvedDate" />  
       <SERVERDEFAULT from="clock"  />  
    </FIELD >  
    
  3. 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ą:

Interfejs API REST

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