Pola zapytań, operatory i makra w usłudze Azure Boards

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

W tym miejscu znajdziesz szczegółowe opisy poszczególnych typów danych pól, operatorów zapytań i makr zapytań. Niektóre typy danych, operatory i makra są prawidłowe tylko dla wskazanej wersji usługi Azure DevOps.

Aby zapoznać się z krótkim omówieniem zadań zapytań oraz operatorów i makr obsługiwanych dla każdego typu danych, zobacz Szybkie informacje dotyczące zapytań. Zobacz też Tworzenie zapytania/Najlepsze rozwiązania.

Wykonywanie zapytań dotyczących typów danych i wartości pól

Wartość określona dla pola musi być zgodna z typem danych dla tego pola. W poniższej tabeli wymieniono obsługiwane typy danych:

Uwaga

W przypadku usługi w chmurze Azure Boards typ danych odpowiada typowi danych wymienionemu dla pola na stronie Pola procesu>. W przypadku wdrożeń lokalnych typ danych odpowiada atrybutowi type przypisanemu FIELD do definicji. Aby uzyskać więcej informacji, zobacz Pola elementów roboczych i atrybuty pól.

Typ danych

Opis

Wartość logiczna

Określa pole, które przyjmuje wartość true/false.

Data/ godzina lub data/godzina

Pole daty, w którym można określić zmienną, taką jak @Today lub @Today-1, lub wartość, taką jak 1.1.2023. Wprowadź daty w wzorcu daty ustawionym dla profilu osobistego. (Zobacz Ustaw preferencje osobiste, aby uzyskać szczegółowe informacje). Przykłady zapytań można znaleźć w temacie Query by date or @CurrentIteration.

W przypadku zapytań WIQL można również określić datę we wzorcu uniwersalnego czasu koordynowanego (UTC). Aby uzyskać więcej informacji, zobacz Składnia języka zapytań elementów roboczych (WIQL).

Podwójna lub dziesiętna

Liczba rzeczywista, taka jak 0,2 lub 3,5. Aby zapoznać się z przykładami zapytań, zobacz Zapytanie według pól liczbowych.

Identyfikator GUID

Ciąg znaków reprezentujący unikatowy identyfikator.

Historia

Niestandardowe sformatowane pole używane do śledzenia informacji historycznych. Ten typ danych jest używany tylko do obsługi pola Historia . To pole jest automatycznie indeksowane w przypadku wyszukiwania pełnotekstowego, gdy jest dostępne wyszukiwanie pełnotekstowe. Zobacz Pełnotekstowe i częściowe wyszukiwania wyrazów opisane w dalszej części tego artykułu. Przykłady zapytań można znaleźć w temacie Historia i inspekcja.

HTML

Ciągi tekstowe obsługujące sformatowane opisy, takie jak pola Opis lub Kroki odtworzenia . Te pola są automatycznie indeksowane w celu wyszukiwania pełnotekstowego, gdy jest dostępne wyszukiwanie pełnotekstowe. Zobacz Pełnotekstowe i częściowe wyszukiwania wyrazów opisane w dalszej części tego artykułu. Aby wykonywać zapytania dotyczące pól tekstowych sformatowanych, zobacz Query by titles, IDs i rich-text fields (Wykonywanie zapytań według tytułów, identyfikatorów i pól tekstu sformatowanych).

Tożsamość

Krótki ciąg tekstowy identyfikujący tożsamość użytkownika.

Wartość całkowita

32-bitowa liczba całkowita, która jest podpisana, na przykład 0, 1, 2, 34.

Zwykły tekst lub pole tekstowe (wielowierszowe)

Ciągi tekstowe, które obsługują długie opisy, takie jak pole Informacje o uruchamianiu aplikacji. Te pola są automatycznie indeksowane w przypadku wyszukiwania pełnotekstowego, gdy jest dostępne wyszukiwanie pełnotekstowe. Zobacz Pełnotekstowe i częściowe wyszukiwania wyrazów opisane w dalszej części tego artykułu. Aby wykonywać zapytania dotyczące pól w postaci zwykłego tekstu, zobacz Zapytania według tytułów, identyfikatorów i pól tekstu sformatowanych.

picklistDouble1

Pole niestandardowe zdefiniowane do zawiera listę wyboru wartości dziesiętnych.

picklistInteger1

Pole niestandardowe zdefiniowane do zawiera listę wyboru wartości całkowitych.

picklistString1

Pole niestandardowe zdefiniowane do zawiera listę wyboru krótkich wartości ciągu tekstowego (255 znaków lub mniej).

Ciąg lub pole tekstowe (pojedynczy wiersz)

Krótki ciąg tekstowy, który może zawierać maksymalnie 255 znaków Unicode. Pola tekstowe ciągów są często używane do obsługi list wyboru lub menu rozwijanych.

Treepath

Struktura drzewa rozgałęziania, taka jak ścieżka obszaru lub ścieżka iteracji. Wybierz element z listy prawidłowych wartości. Znajdź elementy robocze, które są równe, a nie równe lub nie w strukturze drzewa, lub użyj operatorów In lub Not In, aby określić kilka wartości. Należy zdefiniować strukturę drzewa dla projektu — ścieżki obszaru i ścieżki iteracji — a następnie wybrać te, które chcesz skojarzyć z zespołem.

Aby uzyskać więcej informacji na temat konstruowania zapytań, zobacz Zapytanie według obszaru lub ścieżki iteracji albo Zapytanie według daty lub bieżącej iteracji.

Uwaga

  1. Typy danych listy wyboru są przypisywane tylko do pól niestandardowych zdefiniowanych dla dziedziczonego procesu. Model odziedziczonego procesu jest obsługiwany tylko w przypadku usług Azure DevOps Services i Azure DevOps Server 2019.

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 dla ustawienia czasowego i regionalnego.

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.

Operatory zapytań

Operatory zapytań można użyć w poniższej tabeli, aby określić, jak każda wartość w klauzuli musi być powiązana z odpowiednią wartością w elemencie roboczym. Aby uzyskać informacje o typie danych przypisanym do pól elementu roboczego, zobacz Dokumentacja pola elementu roboczego.

Aby dowiedzieć się więcej na temat dodawania klauzul i używania operatorów And/Or, zobacz Definiowanie zapytania.

Operator zapytania

Zwraca elementy robocze, jeśli wartość w elemencie roboczym jest zgodna z wymienionymi kryteriami

Odpowiednie typy danych

=

Pasuje do wartości w klauzuli .

Liczba — obejmująca podwójne, identyfikator GUID, liczbę całkowitą — i ciąg, DateTime i TreePath

<>

Nie pasuje do wartości w klauzuli .

Number, String, DateTime i TreePath

>

Wartość jest większa niż wartość w klauzuli .

Liczba, ciąg i data/godzina

<

Jest mniejsza niż wartość w klauzuli .

Liczba, ciąg i data/godzina

>=

Jest większy niż lub równy wartości w klauzuli .

Liczba, ciąg i data/godzina

<=

Wartość jest mniejsza lub równa wartości w klauzuli .

Liczba, ciąg i data/godzina

=[Pole]

Pasuje do wartości zawartej w określonym polu.

Nazwa pola o tym samym typie danych co określone pole

<>[Pole]

Nie jest zgodna z wartością zawartą w określonym polu.

Nazwa pola o tym samym typie danych co określone pole

>[Pole]

Jest większy niż wartość zawarta w określonym polu.

Nazwa pola o tym samym typie danych co określone pole

<[Pole]

Jest mniejsza niż wartość zawarta w określonym polu.

Nazwa pola o tym samym typie danych co określone pole

>=[Pole]

Jest większy niż lub równy wartości zawartej w określonym polu.

Nazwa pola o tym samym typie danych co określone pole

<=[Pole]

Jest mniejsza lub równa wartości zawartej w określonym polu.

Nazwa pola o tym samym typie danych co określone pole

Zawiera

Zawiera dokładne lub częściowe dopasowanie ciągu tekstowego w polu wybranym do filtrowania.

ciąg

Nie zawiera

Nie zawiera dokładnego lub częściowego dopasowania ciągu tekstowego w polu wybranym do filtrowania.

ciąg

Zawiera wyrazy

Zawiera dokładny ciąg tekstowy lub wyrazy w polu wybranym do filtrowania. Możesz również wprowadzić częściowe wyrazy lub frazy zawierające symbol wieloznaczny *. Ciąg tekstowy jest ograniczony do 100 znaków. Aby uzyskać informacje o ograniczeniach, zobacz Wyszukiwanie pełnotekstowe dla serwera i wymagań sortowania.

Pola z długim tekstem, które są indeksowane do wyszukiwania pełnotekstowego, które odpowiadają wszystkim polam Zwykłego tekstu i HTML oraz pola Historia i Tytuł .

Nie zawiera wyrazów

Nie zawiera dokładnego ciągu tekstowego ani wyrazów w polu wybranym do filtrowania. Ciąg tekstowy jest ograniczony do 100 znaków.

Użyj tego operatora w połączeniu z klauzulą z operatorem Contains Words , aby uwzględnić i wykluczyć określone słowa kluczowe.

Pola tekstowe indeksowane na potrzeby wyszukiwania pełnotekstowego.

In

Dopasuje dowolną wartość w zestawie rozdzielanym. Można na przykład znaleźć elementy robocze, których identyfikatory to 100, 101 i 102, jeśli określisz te wartości dla pola identyfikatora. Oddzielaj wartości separatorem listy odpowiadającym ustawieniam regionalnym zdefiniowanym dla komputera klienckiego. Na przykład możesz użyć przecinka(,).

Number, String, DateTime, TreePath

Jest pusta

Wyświetla listę elementów roboczych zawierających puste pole HTML. Nie określasz wartości za pomocą tego operatora. Ten operator jest obsługiwany w przypadku usługi Azure Boards (usługi w chmurze), usługi Azure DevOps Server 2019 i nowszych wersji.

HTML

Nie jest pusty

Wyświetla listę elementów roboczych zawierających część zawartości w polu HTML. Nie określasz wartości za pomocą tego operatora. Ten operator jest obsługiwany w przypadku usługi Azure Boards (usługi w chmurze), usługi Azure DevOps Server 2019 i nowszych wersji.

HTML

Nie w

Nie pasuje do żadnej wartości w zestawie rozdzielanym. Można wykluczyć elementy robocze, których stany nie są rozwiązane, ukończone lub zamknięte z wyników zapytania, jeśli określisz te wartości dla pola Stan. Oddzielaj wartości separatorem listy odpowiadającym ustawieniam regionalnym zdefiniowanym dla komputera klienckiego. Na przykład możesz użyć przecinka(,).

Operator Not In jest dostępny w usługach Azure Boards i TFS 2018.2 i nowszych wersjach.

Number, String, DateTime, TreePath

W grupie

Dopasuje wartość, która jest członkiem grupy w klauzuli . Grupy odpowiadają nazwie zespołu, grupy zabezpieczeń lub kategorii śledzenia pracy. Możesz na przykład utworzyć zapytanie, aby znaleźć wszystkie elementy robocze przypisane do członków grupy Współautorzy lub do zespołu. Grupy zespołu są tworzone podczas tworzenia zespołu. Nazwa grup zespołów jest zgodna ze wzorcem [Nazwa projektu zespołowego]\Nazwa zespołu.

Na przykład zapytania można znaleźć w temacie Query by assignment or workflow changes (Zapytania według przydziału lub zmian przepływu pracy).

Ciąg zgodny z nazwą zespołu, grupy zabezpieczeń lub kategorii zdefiniowanej w systemie.

Uwaga

Możesz użyć operatora W grupie tylko z polami, które używają typu danych Ciąg lub typu elementu roboczego. Możesz również użyć grup zdefiniowanych w identyfikatorze entra firmy Microsoft, gdy konto usługi Azure Boards jest wspierane przez identyfikator Entra firmy Microsoft lub usługę Active Directory, gdy wystąpienie serwera lokalnego jest wspierane przez usługę Active Directory.

Aby uzyskać informacje o grupach kategorii, zobacz Używanie kategorii do grupowania typów elementów roboczych.

Nie w grupie

Nie jest zgodna z wartością, która jest członkiem grupy w klauzuli .

Ciąg pasujący do nazwy grupy użytkowników w programie Team Foundation Server lub grupie kategorii zdefiniowanej dla projektu.

Uwaga

Możesz użyć operatora Nie w grupie tylko z polami, które używają typu danych Ciąg lub typu elementu roboczego. Możesz również użyć grup zdefiniowanych w identyfikatorze entra firmy Microsoft, gdy konto usługi Azure Boards jest wspierane przez identyfikator Entra firmy Microsoft lub usługę Active Directory, gdy wystąpienie serwera lokalnego jest wspierane przez usługę Active Directory.

Nie w obszarze

Nie pasuje do wartości w klauzuli i nie jest zawarta w węźle w klauzuli .

Treepath

Pod

Pasuje do wartości w klauzuli lub znajduje się w węźle w klauzuli .

Treepath

Był kiedykolwiek

Pasuje do wartości w klauzuli w dowolnym poprzednim punkcie.

Ciąg , data/godzina

Uwaga

W przypadku korzystania z Edytor Power Query pola daty nigdy nie są obecnie obsługiwane. Są one obsługiwane tylko w przypadku bezpośredniego WIQL.

Napiwek

Istnieje możliwość połączenia zapytania przy użyciu składni WIQL, która używa operatora, takiego jak Was Ever, dla innych pól typu danych niż wymienione na liście. Możesz na przykład użyć klauzuli Was Ever w klauzuli , używając ścieżki iteracji. Aby zapoznać się z przykładem, zobacz Zapytanie według daty lub bieżącej iteracji, Wyświetlanie listy elementów roboczych przeniesionych z przebiegu.

Wykonywanie zapytań względem makr lub zmiennych

Makra opisane w poniższej tabeli umożliwiają filtrowanie zapytań na podstawie określonych pól.

Uwaga

Następujące makra są obsługiwane tylko w portalu internetowym: @CurrentIteration, @CurrentIteration +/- n, @Follows, @MyRecentActivity, @RecentMentions, @RecentProjectActivity i @TeamAreas. Zapytania zawierające te makra nie będą działać po otwarciu w programie Visual Studio/Team Explorer, Microsoft Excel lub Microsoft Project.


Makro

Opis


[Dowolny]

Użyj z polami Typ elementu roboczego lub Stan, aby wyszukiwać we wszystkich typach elementów roboczych lub we wszystkich stanach. Na przykład Work Item Type=[Any] nie będzie umieszczać żadnych filtrów na podstawie typu elementu roboczego.


@CurrentIteration

Użyj z polem Ścieżka iteracji, aby automatycznie filtrować elementy robocze przypisane do bieżącego przebiegu na podstawie bieżącego fokusu lub kontekstu zespołu. Aby zapoznać się z konkretnymi przykładami, zobacz Zapytanie według daty lub bieżącej iteracji.
Makro @CurrentIteration działa tylko po uruchomieniu z portalu internetowego. Nie można używać makra podczas kopiowania ani klonowania zestawów testów i przypadków testowych, definiowania alertów lub interfejsów API REST.


@CurrentIteration +/- n

Użyj z polem Ścieżka iteracji, aby filtrować zestaw elementów roboczych przypisanych do bieżącego przebiegu +/- n przebiegów na podstawie bieżącego fokusu lub kontekstu zespołu. Aby zapoznać się z konkretnymi przykładami, zobacz Zapytanie według daty lub bieżącej iteracji.
Makro @CurrentIteration +/- n jest obsługiwane w przypadku usług Azure Boards, Azure DevOps Server 2019 i nowszych oraz tylko w przypadku uruchamiania z portalu internetowego.


@Follows

Użyj z polem ID i operatorem W , aby wyświetlić listę wszystkich elementów roboczych, które obserwujesz w projekcie. Aby dowiedzieć się więcej na temat funkcji Obserwowanie, zobacz Obserwowanie elementu roboczego lub żądania ściągnięcia. Tę samą listę można wyświetlić na stronie Elementy robocze w widoku przestawnym.
Makro @Follows jest obsługiwane tylko w przypadku uruchamiania z portalu internetowego.


@Me

Użyj pola tożsamość lub konto użytkownika, aby automatycznie wyszukać elementy skojarzone z nazwą użytkownika lub konta. Możesz na przykład znaleźć elementy robocze, które zostały otwarte za pomocą klauzuli Created By=@Me. Aby uzyskać więcej przykładów, zobacz Tworzenie zapytań według przypisań, przepływów pracy lub zmian tablicy Kanban.


@MyRecentActivity 1

Użyj z polem ID i operatorem In, aby wyświetlić lub zaktualizować elementy robocze, które zostały wyświetlone lub zaktualizowane w projekcie w ciągu ostatnich 30 dni. Tę samą listę można wyświetlić na stronie Elementy robocze, w widoku przestawnym Moje działanie.


@Project

Użyj z polem Team Project, aby filtrować elementy robocze w innych projektach. Na przykład można znaleźć wszystkie elementy robocze w aktualnie wybranym projekcie z klauzulą Team Project=@Project. System automatycznie domyślnie filtruje na podstawie bieżącego projektu. Aby uzyskać więcej informacji, zobacz Definiowanie zapytania, Wykonywanie zapytań między projektami.


@RecentMentions 1

Użyj z polem IDENTYFIKATOR i operatorem W , aby wyświetlić listę elementów roboczych, o których wspomniano w sekcji Dyskusja. Tę samą listę można wyświetlić na stronie Elementy robocze, widok przestawny Wymieniony.


@RecentProjectActivity 1

Użyj z polem ID i operatorem W , aby wyświetlić listę elementów roboczych, które zostały ostatnio zaktualizowane. Liczba wymienionych elementów roboczych zależy od aktywności śledzenia pracy w projekcie. W przypadku wysoce aktywnych projektów makro zawiera listę elementów roboczych, które zostały zaktualizowane w projekcie w ciągu ostatnich 30 dni. Jednak w przypadku mniej aktywnych projektów ta lista może zawierać elementy robocze starsze niż 30 dni. Podobne listy można wyświetlić na stronie Elementy robocze, Ostatnio utworzone, Ostatnio zaktualizowane i Ostatnio ukończone widoki przestawne. Liczba zwracanych elementów roboczych jest ograniczona do 5000.


@StartOfDay 2

Użyj z polem DateTime , aby filtrować elementy robocze powiązane z bieżącą datą lub z przesunięciem plus/minus. Na przykład wszystkie elementy zamknięte w ostatnim tygodniu można znaleźć za pomocą klauzuli Closed Date&gt;=@StartOfDay-7. Aby uzyskać więcej przykładów, zobacz Zapytanie według daty lub bieżącej iteracji.


@StartOfMonth 2

Użyj z polem DateTime , aby filtrować elementy robocze powiązane z bieżącym miesiącem lub z przesunięciem plus/minus. Na przykład wszystkie elementy utworzone w ciągu ostatnich trzech miesięcy można znaleźć za pomocą klauzuli Created Date&gt;=@StartOfMonth-3. Aby uzyskać więcej przykładów, zobacz Zapytanie według daty lub bieżącej iteracji.


@StartOfWeek 2

Użyj z polem DateTime , aby filtrować elementy robocze, które odnoszą się do bieżącego tygodnia lub z przesunięciem plus/minus. Na przykład wszystkie elementy zmienione w ciągu ostatnich dwóch tygodni można znaleźć za pomocą klauzuli Changed Date&gt;=@StartOfWeek-2. Aby uzyskać więcej przykładów, zobacz Zapytanie według daty lub bieżącej iteracji.


@StartOfYear 2

Użyj z polem DateTime , aby filtrować elementy robocze, które odnoszą się do bieżącego roku lub z przesunięciem plus/minus. Na przykład wszystkie funkcje, które mają datę docelową zaplanowaną w bieżącym roku, można znaleźć za pomocą klauzuli Target Date&gt;=@StartOfYear. Aby uzyskać więcej przykładów, zobacz Zapytanie według daty lub bieżącej iteracji.


@TeamAreas

Użyj tylko z polem Ścieżka obszaru, aby filtrować elementy robocze, których ścieżka obszaru odpowiada jednej przypisanej do określonego zespołu. Wymaga użycia = operatora . Na przykład można znaleźć wszystkie elementy przypisane do ścieżek obszaru przypisanych do zespołu sieci Web za pomocą klauzuli Area Path=@TeamAreas [Fabrikam Fiber]\Web. Aby uzyskać więcej przykładów, zobacz Zapytanie według obszaru lub ścieżki iteracji.
Makro @TeamAreas jest obsługiwane w przypadku usługi Azure DevOps Server 2019 i nowszych wersji oraz tylko w przypadku uruchamiania z portalu internetowego.


@Today

Użyj z polem DateTime , aby filtrować elementy robocze powiązane z bieżącą datą lub datą wcześniejszą. Makro @Today można również zmodyfikować, odejmując dni. Na przykład wszystkie elementy utworzone w ostatnim tygodniu można znaleźć za pomocą klauzuli Created Date&gt;=@Today-7. Aby uzyskać więcej przykładów, zobacz Zapytanie według daty lub bieżącej iteracji.


Uwaga

  1. Makra @MyRecentActivity, @RecentMentions i @RecentProjectActivity są obsługiwane dla programu TFS 2018.2 i nowszych wersji.
  2. Makra @StartOfDay, @StartOfWeek, @StartOfMonth i @StartOfYear są obsługiwane w przypadku usługi Azure DevOps Server 2019 Update 1 i nowszych wersji.

Wyszukiwanie pełnotekstowe i częściowe wyrazy

Określ zawiera lub nie zawiera , aby wyszukać dokładne lub częściowe dopasowania wyrazu lub frazy. Te operatory filtrować elementy na podstawie indeksu wyszukiwania pełnotekstowego utworzonego dla pól długotekstowych. Określ zawiera wyrazy lub nie zawiera wyrazów, aby wyszukiwać w dokładnej frazie lub używać symbolu wieloznakowego . * Te operatory używają indeksu wyszukiwania pełnotekstowego. Symbol wieloznaczny można używać tylko na końcu częściowego wyrazu lub frazy.

Aby zapoznać się z przykładami, zobacz Przykładowe zapytania dotyczące elementów roboczych i Zapytanie dotyczące elementów roboczych przy użyciu pola Historia.

Uwaga

Nie wszystkie wdrożenia obsługują wyszukiwanie pełnotekstowe. Na przykład usługi SQL Express i Usługi SQL Azure, które obsługują usługę w chmurze, nie obsługują wyszukiwania pełnotekstowego. W tych wystąpieniach widoczne są tylko operatory Contains i Does not Contains (Zawiera ) i Does not Contains (Nie zawiera ).

Usługi Azure DevOps Server i Team Foundation Server automatycznie indeksuje wszystkie pola długiego tekstu przy użyciu typu danych PlainText i HTML oraz pola Title na potrzeby wyszukiwania pełnotekstowego. Indeks i operatory są dostępne tylko wtedy, gdy program SQL Server obsługujący program Team Foundation Server obsługuje wyszukiwanie pełnotekstowe.

Wyszukiwanie pełnotekstowe wymaga sortowania SQL odpowiadającego językowi, w przypadku którego wyraz breaker jest zarejestrowany w programie SQL Server. Jeśli ustawienia sortowania bazy danych kolekcji projektów używane dla wystąpienia serwera Team Foundation Server nie odpowiadają obsługiwanemu językowi, wyniki wyszukiwania mogą nie odpowiadać twoim oczekiwaniom. W takich przypadkach możesz spróbować użyć operatorów Zawiera lub Nie zawiera .

Aby uzyskać więcej informacji, zobacz Zapytania wyszukiwania pełnotekstowego i sortowanie Ustawienia.

Interfejs API REST

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