Udostępnij przez


Wykonywanie zapytań według daty lub bieżącej iteracji

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

W tym artykule przedstawiono, jak wyświetlać elementy robocze według daty utworzenia, zmiany, rozwiązania lub zamknięcia oraz jak używać makr dat (np. @Today) i makr iteracji dla sprintów zespołowych. Aby uzyskać podstawowe informacje o ścieżkach iteracji i ograniczeniach klienta/makr, zobacz Query by area or iteration path (Wykonywanie zapytań według obszaru lub ścieżki iteracji).

Prerequisites

Category Requirements
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 .
Permissions Zestaw uprawnień Contribute ustawiony na Zezwalaj dla folderu, do którego chcesz dodać zapytanie. Domyślnie grupa współautorów nie ma tego uprawnienia.

Note

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.

Category Requirements
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.
Permissions 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 dat

Użyj następujących operatorów i makr dla pól DateTime i Iteration Path w Edytorze zapytań.

  • Operatory Data i Czas: = , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever
  • Makra daty: @StartOfDay, @StartOfWeek, @StartOfMonth, @StartOfYear, @Today
    Można połączyć +/- n z tymi makrami (na przykład @Today - 7).
  • Makra iteracji: @CurrentIteration i @CurrentIteration +/- n (zobacz następującą uwagę i link dla ograniczeń klienta i zachowania parametrów zespołowych).

Note

Makra iteracyjne i ograniczenia klienta są szczegółowo omówione na stronie dotyczącej iteracji: Zapytanie według obszaru lub ścieżki iteracji. Jeśli potrzebujesz zapytań do uruchamiania w klientach niezwiązanych z siecią lub przez REST/WIQL poza internetowym interfejsem użytkownika, sprawdź obsługę makr w twoim środowisku i rozważ rozszerzenie makr na jawne ścieżki.

Przykłady szybkich dat (typowe zapytania)

  • Elementy utworzone w ciągu ostatnich 30 dni: zrzut ekranu przedstawiający klauzulę Edytora zapytań na potrzeby znajdowania elementów utworzonych w ciągu ostatnich 30 dni.

  • Elementy zmodyfikowane w określonej dacie: zrzut ekranu przedstawiający klauzulę Edytora zapytań dotyczącą znajdowania elementów zmienionych w określonej dacie.

  • Elementy rozwiązane dzisiaj: zrzut ekranu przedstawiający klauzulę Edytora zapytań dotyczącą znajdowania elementów rozwiązanych dzisiaj.

  • Elementy zamknięte w określonym przedziale czasu: zrzut ekranu przedstawiający klauzulę Edytora zapytań dotyczącą znajdowania elementów zamkniętych w określonym przedziale czasu.

  • Elementy, których data zamknięcia ma wartość null (nie jest zamknięta): 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 zmienił się w ciągu ostatniego tygodnia: Zrzut ekranu przedstawiający klauzulę Edytora zapytań dla elementów, których stan został zaktualizowany w ciągu ostatniego tygodnia.

@CurrentIteration Korzystanie z makr (krótki przewodnik)

Użyj @CurrentIteration do określenia bieżącego sprintu zespołu i @CurrentIteration +/- n do utworzenia przesuwanego okna sprintów (na przykład ostatnich dwóch, bieżącego i dwóch następnych sprintów). Ważne kwestie:

  • @CurrentIteration Zwraca elementy przypisane do bieżącego sprintu w kontekście zespołu określonym przed uruchomieniem zapytania.
  • @CurrentIteration +/- n przesuwa to okno sprintów przez n; przydatne w przypadku analizy trendów lub przenoszenia wyników.
  • Ponieważ zachowanie makr i obsługa klienta różnią się, zapoznaj się z tematem Zapytanie według obszaru lub ścieżką iteracji, aby uzyskać szczegółowe informacje na temat parametrów zespołów, które klienci oceniają, oraz jak makra są przechowywane i rozszerzane podczas zapisywania zapytań.

Przykładowe obrazy (Edytor zapytań portalu internetowego):

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

Zrzut ekranu przedstawiający klauzule CurrentIteration plus i minus dla przesuwanego okna sprintów.

Tip

Jeśli @CurrentIteration nie zwraca oczekiwanych wyników, potwierdź wybraną iterację zespołu i zakresy dat iteracji w ustawieniach zespołu.

Makra daty: początek dnia/tygodnia/miesiąca/roku

Makra początkowe ułatwiają tworzenie spójnych zakresów dat względnych:

  • @StartOfDay, @StartOfWeek, @StartOfMonth, @StartOfYear — użyj tych makr z +/- n, aby utworzyć zakresy, takie jak "od początku tygodnia" lub "ostatnie 3 miesiące".
  • Te makra są oceniane przez interfejs użytkownika portalu internetowego; ich zachowanie w scenariuszach innych niż webowe może się różnić — przetestuj w kliencie docelowym.

Przykładowe zapytania:

Zrzut ekranu pokazujący klauzule Edytora zapytań dotyczące znajdowania elementów zmienionych w ciągu ostatnich 10 dni.

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

Kiedy należy bezpośrednio używać języka WIQL

Użyj WIQL, gdy:

  • Potrzebne są zaawansowane operatory, takie jak WAS EVER do zmian ścieżki iteracji.
  • Edytor zapytań blokuje lub oznacza klauzulę jako nieobsługiwaną (na przykład niektóre zastosowania Was Ever). Rozszerzenie edytora WIQL umożliwia tworzenie tych zapytań i zapisywanie ich.

Zobacz składnię języka zapytań elementów roboczych (WIQL) oraz rozszerzenie WIQL Editor dostępne w Marketplace, aby zapoznać się z przykładami.

interfejs API REST

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