Pola zapytań, operatory i makra w usłudze Azure Boards
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Ten artykuł zawiera opisy poszczególnych typów danych pól, operatora zapytania i makra zapytania. Niektóre typy danych, operatory i makra są prawidłowe tylko dla wskazanej wersji usługi Azure DevOps.
Aby uzyskać więcej informacji, zobacz Szybkie informacje dotyczące zapytań i Zarządzanie zapytaniami i organizowanie ich.
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 01/01/2025
. 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.
picklistDouble
Pole niestandardowe zdefiniowane do zawiera listę wyboru wartości dziesiętnych.
picklistInteger
Pole niestandardowe zdefiniowane do zawiera listę wyboru wartości całkowitych.
picklistString
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, w obszarze lub nie pod strukturą drzewa. Możesz również użyć In
operatorów or Not In
, aby określić wiele wartości. Zdefiniuj strukturę drzewa dla projektu — ścieżki obszaru i ścieżki iteracji — a następnie wybierz 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
Typy danych listy wyboru są przypisywane tylko do pól niestandardowych zdefiniowanych dla dziedziczonego procesu.
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.
Operatory zapytań
Użyj operatorów zapytań 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 uzyskać więcej informacji, 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
Sprawdza, czy pole logiczne jest równe innemu polu
<>[Pole]
Nie jest zgodna z wartością zawartą w określonym polu.
Nazwa pola o tym samym typie danych co określone pole
Sprawdza, czy pole logiczne nie jest równe innemu polu
>[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
Contains
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ług Azure Boards i Azure DevOps Server.
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ług Azure Boards i Azure DevOps Server.
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 obsługiwany dla usług Azure Boards i Azure DevOps Server.
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, 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 odpowiadający nazwie grupy użytkowników w usłudze Azure DevOps 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
Można utworzyć zapytanie 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 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ługi Azure Boards, serwera Azure DevOps Server po uruchomieniu 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 uzyskać więcej informacji, 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 przydziału, przepływu pracy lub zmian tablicy.
@MyRecentActivity
Użyj z polem ID i operatorem In , aby wyświetlić lub zaktualizować elementy robocze 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
Użyj z polem ID i operatorem W , aby wyświetlić listę elementów roboczych, w których wymieniono Cię w sekcji Dyskusja. Tę samą listę można wyświetlić na stronie Elementy robocze, widok przestawny Wymieniony.
@RecentProjectActivity
Użyj polecenia z polem ID i operatorem In , aby wyświetlić listę ostatnio zaktualizowanych elementów roboczych. Liczba wymienionych elementów roboczych zależy od aktywności śledzenia pracy w projekcie. W przypadku wysoce aktywnych projektów makro wyświetla elementy robocze zaktualizowane w projekcie w ciągu ostatnich 30 dni lub tak. 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
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>=@StartOfDay-7
. Aby uzyskać więcej przykładów, zobacz Zapytanie według daty lub bieżącej iteracji.
@StartOfMonth
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>=@StartOfMonth-3
. Aby uzyskać więcej przykładów, zobacz Zapytanie według daty lub bieżącej iteracji.
@StartOfWeek
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>=@StartOfWeek-2
. Aby uzyskać więcej przykładów, zobacz Zapytanie według daty lub bieżącej iteracji.
@StartOfYear
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>=@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 tylko wtedy, gdy jest uruchamiane 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>=@Today-7
. Aby uzyskać więcej przykładów, zobacz Zapytanie według daty lub bieżącej iteracji.
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ługa Azure DevOps Server automatycznie indeksuje wszystkie pola długiego tekstu z typem danych PlainText i HTML oraz polem Title na potrzeby wyszukiwania pełnotekstowego. Indeks i operatory są dostępne tylko wtedy, gdy program SQL Server obsługujący usługę Azure DevOps 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żywanej dla wystąpienia usługi Azure DevOps 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 ustawienia sortowania.
Powiązane artykuły
- Używanie szybkiego dokumentacji zapytania
- Dowiedz się więcej o zapytaniach zarządzanych
- Uzyskiwanie dostępu do indeksu pola elementu roboczego
- Omówienie składni 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: