Definování dotazu na pracovní položku
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Dotazy na pracovní položky v Azure Boards generují seznamy pracovních položek na základě kritérií filtru poskytovaných vámi. Tyto spravované dotazy můžete uložit a sdílet s ostatními.
Dotazy můžete vytvářet z webového portálu nebo z podporovaného klienta, jako je Visual Studio Team Explorer. Pokud chcete podporovat hromadné aktualizace nebo přidávání, importujte nebo exportujte dotazy pomocí Excelu nebo .csv souborů.
Poznámka:
Obrázky prohlížeče použité v tomto článku pocházejí z funkce New Boards Hubs, která je ve výchozím nastavení povolená. Pokud tato funkce není povolená, možná používáte předchozí prostředí panelů. Pokud chcete zobrazit obrázky pro předchozí prostředí, vyberte verzi tohoto článku pro Azure DevOps Server 2022.
Podívejte se na naše doporučené osvědčené postupy dále v tomto článku.
Požadavky
- Úrovně přístupu:
- Mít přístup účastníka k zobrazení a spouštění sdílených dotazů. Všichni členové projektu mají ve výchozím nastavení přístup účastníka. Další informace najdete v tématu Změna oprávnění pro sdílený dotaz nebo složku.
- Pokud chcete přidat a uložit sdílený dotaz, musíte mít základní přístup nebo vyšší.
- Oprávnění: Nastavte oprávnění Přispívání tak, aby povolovaly složku, do které chcete přidat dotaz. Ve výchozím nastavení nemá skupina Přispěvatelé toto oprávnění.
Poznámka:
Uživatelé s přístupem účastníků pro veřejný projekt mají úplný přístup k funkcím dotazů stejně jako uživatelé se základním přístupem. Další informace najdete ve stručné referenční příručce k přístupu pro účastníka.
- Úrovně přístupu: Ve výchozím nastavení můžou všichni členové a uživatelé projektu s přístupem účastníka zobrazit a spustit všechny sdílené dotazy. Můžete změnit oprávnění nastavená pro složku sdíleného dotazu nebo sdílený dotaz. Další informace naleznete v tématu Nastavení oprávnění dotazu.
- Oprávnění: Chcete-li přidat a uložit dotaz do sdílených dotazů, musíte mít udělen základní přístup nebo vyšší. Musíte mít také nastavené oprávnění Přispívání povolit pro složku, do které chcete přidat dotaz. Ve výchozím nastavení nemá skupina Přispěvatelé toto oprávnění.
Volba filtru dotazu
V Editor Power Query vyberte filtr a přejděte na článek s ukázkovými dotazy. Spolu s filtry dotazů můžete interaktivně použít filtry na výsledky dotazu.
Poznámka:
Spravované dotazy nepodporují vyhledávání bezkontaktní komunikace, ale sémantické vyhledávání. Sémantické vyhledávání také podporují zástupné *
znaky a ?
můžete použít více než jeden zástupný znak, který odpovídá více než jednomu znaku. Další informace naleznete v tématu Hledání funkční pracovní položky.
Funkce filtru
Makra
Dotaz můžete interaktivně filtrovat pomocí funkce Filter.
Otevřené dotazy
Ve webovém prohlížeči (1) zkontrolujte, že jste vybrali správný projekt, (2) zvolte Dotazy na panely> a pak (3) zvolte Vše.
Na kartě Oblíbené se otevře stránka Dotazy se seznamem dotazů, které jste nastavili jako oblíbené. Na kartě Vše můžete zobrazit všechny dotazy, které jste definovali a sdíleli pro projekt.
Tip
Dotazy, které jste vy nebo váš tým zvolili jako oblíbené, se zobrazí na stránce Oblíbené . Oblíbené dotazy spolu s dalšími objekty se zobrazí také na stránce Projectu . Další informace najdete v tématu Nastavení osobních nebo týmových oblíbených položek.
V projektu zvolte Boards Queries (Dotazy na panely>) a pak zvolte All (Vše).
Na kartě Oblíbené se otevře stránka Dotazy se seznamem dotazů, které jste nastavili jako oblíbené. Na kartě Vše můžete zobrazit všechny dotazy, které jste definovali a sdíleli pro projekt.
Tip
Dotazy, které jste vy nebo váš tým zvolili jako oblíbené, se zobrazí na stránce Oblíbené . Oblíbené dotazy spolu s dalšími objekty se zobrazí také na stránce Projectu . Další informace najdete v tématu Nastavení osobních nebo týmových oblíbených položek.
Definování dotazu s plochým seznamem
Spusťte nový dotaz z karty Dotazy na webovém portálu nebo na kartě Pracovní položky v Team Exploreru.
- Vyberte Nový>dotaz.
Zobrazí se Editor Power Query s následujícím výchozím nastavením: Plochý seznam pracovních položek, Typ pracovní položky=[Any] a State=[Any].
- Upravte hodnoty a přidejte nebo odeberte klauzule nebo změňte typ dotazu na Pracovní položky a přímé odkazy nebo strom pracovních položek.
- Vyberte Nový>dotaz.
Zobrazí se Editor Power Query s následujícím výchozím nastavením: Plochý seznam pracovních položek, Typ pracovní položky=[Any] a State=[Any].
- Upravte hodnoty a přidejte nebo odeberte klauzule nebo změňte typ dotazu na Pracovní položky a přímé odkazy nebo strom pracovních položek.
Dotazování napříč projekty nebo v rámci projektů
Nové dotazy se ve výchozím nastavení vztahují k aktuálnímu projektu. Můžete ale vytvářet dotazy pro vyhledání pracovních položek definovaných v rámci organizace nebo kolekce projektů. Všechny dotazy, které uložíte, se ale uloží do konkrétního projektu.
Pokud chcete zobrazit seznam pracovních položek definovaných ve dvou nebo více projektech, zaškrtněte políčko Dotaz mezi projekty. Následující dotaz například najde všechny funkce vytvořené ve všech projektech během posledních 30 dnů.
Když je zaškrtnuté políčko Dotaz mezi projekty , můžete přidat pole Týmový projekt , které se má filtrovat podle vybraného počtu projektů.
Poznámka:
- Oddělte více názvů projektů oddělovačem seznamu, který odpovídá místnímu nastavení definovanému pro klientský počítač, například čárka
,
. - Při použití pole State v dotazu ve více projektech jsou zobrazené hodnoty omezeny na hodnoty definované ve výchozím projektu. To znamená, že pokud dotazujete napříč projekty, nemusí se zobrazit všechny možné stavové hodnoty z každého projektu, ale jenom ty z projektu, který je nastavený jako výchozí. Pokud máte například tři projekty – Project A, Project B a Project C – a pouze Projekt A má stav s názvem "Probíhá revize", zatímco projekty B a C mají různé stavy, dotazování mezi těmito projekty zobrazuje pouze stavy definované v Projectu A.
- Pole Týmový projekt je k dispozici až po kontrole dotazu napříč projekty.
- Když je zaškrtnuté políčko Dotaz mezi projekty , zobrazí se všechna pole ze všech typů pracovních položek definovaných ve všech projektech v kolekci v rozevírací nabídce Pole .
- Pokud není zaškrtnuto políčko Dotaz mezi projekty , zobrazí se v rozevírací nabídce Pole pouze pole z těchto typů pracovních položek definovaných v aktuálním projektu.
Definování klauzule
Pokud chcete vytvořit dotaz, definujte jednu nebo více klauzulí. Každá klauzule definuje kritéria filtru pro jedno pole.
Ukázková klauzule dotazu
A/nebo | Pole | Operátor | Hodnota |
---|---|---|---|
And | Přiřazeno | = | @Me |
Seznam dostupných operátorů založených na datovém typu pole najdete v stručné referenční dokumentaci k indexu dotazu.
Všechny klauzule se přidají jako příkaz And . Vyberte nebo změňte seskupení. Seskupovací klauzule pro zajištění, aby příkazy klauzule byly spouštěny v požadované sekvenci.
Pokud chcete na konec dotazu přidat další klauzuli, vyberte Přidat novou klauzuli a pak pro tuto klauzuli vyberte Field, Operator a Value .
Například vyhledejte všechny pracovní položky přiřazené zadáním pole Přiřazeno , operátor rovná se (=) a makro @Me , které představuje vaši identitu uživatele.
Tip
Pokud chcete zobrazit syntaxi WIQL pro dotaz a způsob použití závorek k seskupení klauzulí, nainstalujte Editor Wiql z Marketplace. Toto rozšíření podporuje zobrazení syntaxe WIQL a jeho export do souboru WIQL pro použití ve voláních rozhraní REST API. Další informace najdete v tématu Syntaxe pro dotazovací jazyk pracovní položky (WIQL).
Kontrolní seznam pro definování klauzule dotazu
V prvním prázdném řádku pod záhlavím sloupce Pole vyberte šipku dolů, aby se zobrazil seznam dostupných polí, a zvolte položku v seznamu. Další informace naleznete v tématu Pole a hodnoty dotazu.
Ve stejném řádku pod záhlavím sloupce Operátor vyberte šipku dolů, aby se zobrazil seznam dostupných operátorů, a pak vyberte položku v seznamu. Další informace naleznete v tématu Operátory.
Ve stejném řádku pod záhlavím sloupce Hodnota zadejte hodnotu nebo vyberte šipku dolů a pak vyberte položku v seznamu. Další informace o použití makra nebo proměnné k určení aktuálního projektu, uživatele, data nebo jiného výběru naleznete v tématu Proměnné.
Pokud chcete přidat klauzuli, zvolte Přidat novou klauzuli.
Na konec dotazu můžete přidat klauzuli nebo provést následující úlohy s odpovídajícími ikonami:
- Vložit nový řádek filtru
- Odebrat tento řádek filtru
- Seskupení vybraných klauzulí
- Klauzule Ungroup
Zobrazení hierarchií pomocí stromu pracovních položek
Pomocí dotazu Strom pracovních položek můžete zobrazit vícevrstvé vnořené seznamy pracovních položek. Můžete například zobrazit všechny položky backlogu a jejich propojené úkoly. Pokud se chcete zaměřit na různé části stromu, zvolte Rozbalit vše nebo Sbalit vše.
Poznámka:
Nelze vytvořit dotaz, který zobrazuje hierarchické zobrazení testovacích plánů, testovacích sad a testovacích případů. Tyto položky nejsou propojené pomocí typů propojení nadřazený-podřízený. Můžete ale vytvořit přímý dotaz na odkazy, který obsahuje seznam pracovních položek souvisejících s testy. Hierarchii také můžete zobrazit na stránce Testovací plány.
Definujte kritéria filtru pro nadřazené i podřízené pracovní položky. Pokud chcete najít propojené podřízené položky, vyberte nejprve Možnost Spárovat pracovní položky nejvyšší úrovně. Pokud chcete najít propojené nadřazené položky, vyberte nejprve Možnost Shodovat propojené pracovní položky.
Použití přímých odkazů k zobrazení závislostí
Pomocí dotazu Pracovní položky a přímé odkazy můžete sledovat pracovní položky, které závisí na jiné sledované práci, jako jsou úkoly, chyby, problémy nebo funkce. Můžete například zobrazit položky backlogu, které závisí na implementaci jiných položek nebo opravené chybě.
Pomocí dotazu přímých odkazů můžete sledovat závislosti napříč týmy. Dotaz vám také pomůže spravovat závazky, které váš tým dělá. Vyberte kritéria filtru pro horní a propojené pracovní položky. A vyberte typy odkazů pro filtrování závislostí.
Vyfiltrujte seznam pracovních položek první vrstvy tak, že zvolíte jednu z těchto možností:
- Vrátit pouze položky, které mají odpovídající odkazy: Vrátí se pracovní položky první úrovně, ale pouze v případě, že mají odkazy na pracovní položky určené kritérii filtrování propojených pracovních položek.
- Vrátí všechny položky nejvyšší úrovně: Všechny pracovní položky první vrstvy se vrátí i přes kritéria filtru propojených pracovních položek. Pracovní položky druhé vrstvy propojené s první vrstvou se vrátí, pokud odpovídají kritériím filtrování propojených pracovních položek.
- Vrátí se jenom položky, které nemají odpovídající odkazy: Vrátí se pracovní položky první vrstvy, ale jenom v případě, že nemají odkazy na pracovní položky určené kritérii filtrování propojených pracovních položek.
Další informace o jednotlivých typech propojení najdete v tématu Odkaz na typ odkazu.
Použití a/nebo logického výrazu
Zadejte And
nebo Or
vytvořte logické výrazy klauzulí dotazu. Slouží And
k vyhledání pracovních položek, které splňují kritéria v aktuální klauzuli i předchozí klauzuli. Slouží Or
k vyhledání pracovních položek, které splňují kritérium v aktuální klauzuli nebo předchozí klauzuli.
Přidejte pro každé pole pracovní položky jednu novou klauzuli, která upřesní kritéria hledání. Přidejte klauzule, které vrátí jenom sadu pracovních položek, které chcete použít. Pokud neobdržíte očekávané výsledky z dotazu, upřesněte ho. Můžete přidat, odebrat, seskupit nebo oddělit klauzule dotazu, abyste zlepšili výsledky dotazu.
Seskupovací klauzule dotazu, které fungují jako jedna jednotka oddělená od zbytku dotazu. Klauzule seskupení se podobají umístění závorek kolem výrazu v matematické rovnici nebo logickém příkazu. Když seskupíte klauzule, platí pro And
celou skupinu klauzule nebo Or
první klauzule ve skupině.
Klauzule Group
Seskupené klauzule fungují jako jedna jednotka oddělená od zbytku dotazu. Klauzule seskupení se podobají umístění závorek kolem matematické rovnice nebo logického výrazu. Or
Operátor And
nebo první klauzule ve skupině se vztahuje na celou skupinu.
Jak ukazuje následující příklady, seskupené klauzule se překládají do odpovídajícího logického výrazu.
Dotaz | Seskupené klauzule | Logický výraz |
---|---|---|
1 | ||
2 | ||
3 |
Tyto dotazy vrací pracovní položky typu Chyba a splňují následující logické výrazy:
- Dotaz 1:
AND State=Active OR Assigned to @Me
- Dotaz 2:
AND (State=Active OR Assigned to @Me)
- Dotaz 3:
OR (State=Active AND Assigned to @Me)
Pokud chcete seskupit jednu nebo více klauzulí, vyberte je a pak vyberte ikonu klauzulí skupiny.
Můžete také seskupit několik seskupených klauzulí. Zaškrtněte políčka jednotlivých klauzulí. Pak zvolte ikonu klauzulí skupiny.
Pokud výsledky dotazu nevrací očekávané výsledky, proveďte následující kroky:
- Ujistěte se, že je každá klauzule definovaná podle očekávání.
- Ověřte
And
/Or
přiřazení jednotlivých klauzulí. Pokud výsledky obsahují více pracovních položek, než se čekalo, častoOr
je místo klauzule k dispoziciAnd
klauzule. - Určete, jestli potřebujete seskupit nebo změnit seskupení klauzulí dotazu a
And
/Or
přiřazení každé seskupené klauzule. - Přidáním dalších klauzulí dotazu upřesněte kritéria filtru dotazu.
- Projděte si dostupné možnosti pro zadání polí, operátorů a hodnot.
- Podívejte se na osvědčené postupy dále v tomto článku.
Ungroup a clause
Pokud chcete klauzuli oddělit, vyberte ikonu klauzulí ungroup pro seskupenou klauzuli.
Nastavení výchozí šířky sloupce ve výsledcích dotazu
Pokud chcete nastavit výchozí šířku sloupce ve výsledcích dotazu, postupujte takto:
- Otevřete dotaz, který chcete upravit.
- Šířky sloupců můžete upravit ručně tak, že přetáhnete okraje záhlaví sloupců.
- Pokud ho chcete uložit jako nový dotaz, vyberte Uložit nebo Uložit jako .
- Zavřete a znovu otevřete dotaz, abyste měli jistotu, že jsou zachovány šířky sloupců.
Azure DevOps v současné době nepodporuje nastavení výchozí šířky sloupce, která se zachová napříč všemi relacemi. Šířky sloupců se ukládají na každý dotaz, takže je potřeba je upravit a uložit pro každý dotaz jednotlivě.
Zobrazení výsledků dotazu na řídicím panelu
Následující dva widgety zobrazují výsledky dotazu. Pracovní položky můžete otevřít přímo z těchto widgetů.
- Práce přiřazená mně: Zobrazí seznam všech navrhovaných nebo aktivních pracovních položek přiřazených přihlášeným uživatelům. Vypíše pole ID, Stát a Název.
- Widget výsledků dotazu: Zobrazí výsledky plochého dotazu, stromu nebo dotazu s přímým propojením. Pole zobrazená pomocí widgetu můžete nakonfigurovat, změnit velikost polí sloupců a rozbalit a sbalit stromový a přímý dotaz.
Další informace najdete v tématu Přidání widgetů na řídicí panel.
Zobrazení widgetu výsledků dotazu s nadřazenými názvy
Můžete zobrazit výsledky dotazu se zobrazeným názvem Nadřazený . Provedete to takto:
- Vytvořte dotaz, který filtruje pracovní položky, které zajímají. Dotaz může být plochý seznam, strom nebo přímý dotaz.
- Přidejte nadřazené pole jako sloupec.
- Uložte dotaz jako sdílený dotaz nebo jako oblíbený tým.
- Přidejte do řídicího panelu widget výsledky dotazu a nakonfigurujte dotaz. Ujistěte se, že je nadřazené pole nastavené na zobrazení.
Následující obrázek znázorňuje widget výsledků dotazu, který zobrazuje nadřazené pole.
Definování dotazu jako hypertextového odkazu
Hypertextový odkaz dotazu používá jazyk WIQL (Work Item Query Language), který se podobá jazyku Transact-SQL. Další informace najdete v tématu Syntaxe pro dotazovací jazyk pracovní položky (WIQL).
Poznámka:
Většina prohlížečů vynucuje limit mezi 2000 a 2083 znaky pro řetězec adresy URL.
Syntaxe hypertextového odkazu dotazu
Zakódujte část WIQL syntaxe adresy URL. K zakódování adresy URL můžete použít libovolný nástroj kodéru URL.
https://dev.azure.com/OrganizationName/ProjectName/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage}
Následující hypertextový odkaz například uvádí ID a název všech aktivních chyb definovaných v cestě FabrikamFiber/Web area pro organizaci Fabrikam.
https://dev.azure.com/fabrikam/FabrikamFiber/_workitems?_a=query&wiql=SELECT%20%5BSystem.ID%5D%2C%20%5BSystem.Title%5D%20FROM%20WorkItems%20WHERE%20%5BSystem.TeamProject%5D%3D'FabrikamFiber'%20AND%20%5BSystem.WorkItemType%5D%3D'Bug'%20AND%20%5BSystem.State%5D%3D'Active'%20AND%20%5BSystem.AreaPath%5D%3D'FabrikamFiber%5CWeb'
Dekódovaný kód WIQL odpovídá:
SELECT [System.ID], [System.Title]
FROM WorkItems
WHERE [System.TeamProject]='FabrikamFiber'
AND [System.WorkItemType]='Bug'
AND [System.State]='Active'
AND [System.AreaPath]='FabrikamFiber\Web'
Poznámka:
Délka WIQL nesmí překročit 32 tisíc znaků pro dotazy Azure Boards.
Syntaxe hypertextového odkazu dotazu
https://{ServerName}/{CollectionName}/{ProjectName}/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage}
Například následující hypertextový odkaz obsahuje ID, název a stav všech chyb v cestě k oblasti FabrikamFiber/Web.
http://fabrikam:8080/tfs/DefaultCollection/FabrikamFiber/_workitems?_a=query&wiql=SELECT%20%5BSystem.ID%5D%2C%20%5BSystem.Title%5D%2C%20%5BSystem.State%5D%20FROM%20WorkItems%20WHERE%20%5BSystem.TeamProject%5D%3D'FabrikamFiber'%20AND%20%5BSystem.WorkItemType%5D%3D'Bug'%20AND%20%5BSystem.AreaPath%5D%3D'FabrikamFiber%5CWeb'%20%20
Podívejte se například na následující nezakódovanou položku.
http://fabrikam:8080/tfs/DefaultCollection/FabrikamFiber/_workitems?_a=query&wiql=
SELECT [System.ID], [System.Title], [System.State]
FROM WorkItems
WHERE [System.TeamProject]='FabrikamFiber'
AND [System.WorkItemType]='Bug'
AND [System.AreaPath]='FabrikamFiber\Web'
Osvědčené postupy
Následující osvědčené postupy platí pro následující dotazy, které můžete vytvořit:
Vytváření zaměřených, selektivních dotazů
Definujte vysoce selektivní dotaz použitím všech filtrů, které jsou pro váš dotaz nezbytné. Čím je dotaz selektivnější, tím menší je sada výsledků. Čím menší je sada výsledků, tím cílenější a výběrový dotaz je.
Použití značek ke kategorizaci pracovních položek
Pomocí značek pracovních položek můžete místo vlastního pole kategorizovat pracovní položky. Dotazy, které filtrují značky, obvykle provádějí rychleji u těchto dotazů, které filtrují shody řetězců.
Na rozdíl od shody nebo částečné shody vlastního pole nevyžaduje dotaz s Tags Contains
operací úplnou kontrolu všech tabulek pracovních položek.
Používá se Contains words
pro shody řetězců.
Pokud chcete filtrovat shodu řetězců, použijte Contains Words
místo operátoru Contains
. Operátor Contains Words
spustí fulltextové vyhledávání v zadaném poli, které se obvykle dokončí rychleji.
Operátor Contains
spustí prohledávání tabulky, což je pomalejší operace než Contains Words
operátor. Využívá také více cyklů procesoru. Tyto cykly procesoru můžou způsobit, že narazíte na omezení rychlosti. Další informace najdete v tématu Omezení rychlosti a využití.
Určení malých skupin pomocí operátoru In Group
Operátor In Group
filtruje pracovní položky na základě shody ve skupině hodnot. Skupina hodnot odpovídá hodnotám obsaženým v týmu, skupině zabezpečení nebo kategorii sledování práce. Můžete například vytvořit dotaz pro vyhledání všech pracovních položek, které jsou přiřazeny libovolnému členu týmu. Nebo vyhledejte všechny pracovní položky, které patří do kategorie požadavků (Microsoft.RequirementCategory
).
Když filtrujete skupinu, která obsahuje velký počet členů, sada výsledků má tendenci být větší a nevybraná. Pokud také skupina odpovídá velké skupině Microsoft Entra, dotaz vygeneruje poměrně velké náklady pro vyřešení této skupiny z ID Microsoft Entra.
Nepoužívejte negated operátory.
Negované operátory , například <>, Not In, Not Under, Not In Group
– mají tendenci generovat nevýběrné dotazy a velké sady výsledků.
V případě potřeby používejte pouze negované operátory. Vždy se nejprve pokuste najít alternativy. Pokud má například Field1 hodnoty A, B, C, D, zadejte Field1 In A, B, C
klauzuli místo negované Field1 <> D
klauzule.
Vyhněte se porovnávání řetězců
Dotazy obsahující porovnání řetězců generují kontroly tabulek, které jsou ze své podstaty neefektivní. Místo toho doporučujeme jako alternativy použít značky nebo konkrétní vlastní pole, zejména pokud dotaz funguje špatně.
Operátory omezení Or
Omezte počet operátorů definovaných Or
v dotazu. Dotazy běží lépe, když se použije méně Or
operátorů. Příliš mnohooperátorůch Or
Pokud se dotaz spouští pomalu, přeuspořádejte Or
klauzuli operátoru směrem k horní části klauzulí dotazu.
Uložení dotazu
Vzhledem k interním optimalizací mají uložené dotazy tendenci lépe provádět neuložené dotazy. Dotaz vždy uložte, až ho budete chtít znovu použít. I pro dotazy WIQL běží přes rozhraní REST API, uložte WIQL prostřednictvím webového portálu, aby vaše volání rozhraní REST API bylo méně náchylné k budoucím regresím výkonu.
Spuštění dotazu
Někdy potřebujete dotaz spustit několikrát, abyste dosáhli správného plánu optimalizace. Nezapomeňte dotaz uložit a spustit ho až 10krát za 30 minut. Systém tak může prozkoumat a vyhledat plán optimalizace, který je pro váš dotaz nejvhodnější.