Definování dotazu na pracovní položku v Azure Boards

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Dotazy na pracovní položky 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ů.

Podívejte se na naše doporučené osvědčené postupy dále v tomto článku.

Požadavky

  • Abyste mohli zobrazit a spouštět sdílené dotazy, musíte mít přístup účastníka . 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šší.
  • Pro složku, do které chcete přidat dotaz, musíte mít nastavené oprávnění Přispívání povolit. 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.

  • 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.
  • Pokud chcete přidat a uložit dotaz do sdílených dotazů, musíte mít udělený základní nebo vyšší přístup. 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 můžete vybrat filtr a přejít 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í. Kromě toho sémantické vyhledávání podporuje zástupné * znaky i ? 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 také 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.

Otevření dotazů na panely>, svislá navigace

Pokud otevíráte dotazy poprvé, otevře se stránka s oblíbenými položkami. Tato stránka obsahuje seznam dotazů, které jste označili jako oblíbené. V opačném případě můžete zvolit Možnost Vše a zobrazit všechny dotazy, které jste definovali a které jsou pro projekt definované.

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.

Snímek obrazovky pro přidání nového dotazu a nového prostředí

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].

Snímek obrazovky Editor Power Query s vybraným plochým seznamem pracovních položek

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ů.

Snímek obrazovky Editor Power Query se zaškrtnutým dotazem napříč projekty

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ů.

Snímek obrazovky Editor Power Query s týmovým projektem a dalšími poli přidanými do filtru

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 ,.

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

Snímek obrazovky Editor Power Query ukazující, jak přidat klauzuli

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

  1. 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.

  2. 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.

  3. 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é.

  4. 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.

Snímek obrazovky se seznamem výsledků dotazu se stromovým dotazem

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.

Snímek obrazovky Editor Power Query zobrazení stromové struktury pracovních položek

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í.

Snímek obrazovky s výsledky dotazu přímých odkazů

Snímek obrazovky Editor Power Query s dotazem na přímé odkazy

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 Snímek obrazovky s dotazem klauzule skupiny Filtry jsou nastaveny pro pole Typ pracovní položky a buď pole Stát, nebo Pole Přiřazeno. Snímek obrazovky s logickým výrazem Operátor AND seskupí typ pracovní položky, stav a přiřazená polím. Operátor OR seskupí pole Stát a Přiřazeno.
2 Snímek obrazovky s dotazem klauzule skupiny s filtry pro pole Typ pracovní položky i jedno z pole Stát nebo Přiřazeno. Snímek obrazovky s logickým výrazem Operátor AND seskupí typ pracovní položky s poli Stát nebo Přiřazeno, které jsou seskupené operátorem OR.
3 Snímek obrazovky s dotazem klauzule skupiny Filtry jsou nastaveny buď pro pole Typ pracovní položky, nebo pro pole Stát i Pole Přiřazeno. Snímek obrazovky s logickým výrazem Operátor OR propojil typ pracovní položky s polem Stát i Přiřazeno k polím, která jsou propojena operátorem AND.

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.

Snímek obrazovky webového portálu, Editor Power Query, seskupování vybraných klauzulí dotazu

Můžete také seskupit několik seskupených klauzulí. Zaškrtněte políčka jednotlivých klauzulí. Pak zvolte ikonu klauzulí skupiny.

Snímek obrazovky s webovým portálem, Editor Power Query, seskupením více klauzulí dotazu

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, často Or je místo klauzule k dispozici And 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.


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:

  1. Vytvořte dotaz, který filtruje pracovní položky, které zajímají. Dotaz může být plochý seznam, strom nebo přímý dotaz.
  2. Přidejte nadřazené pole jako sloupec.
  3. Uložte dotaz jako sdílený dotaz nebo jako oblíbený tým.
  4. 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.

Snímek obrazovky s widgetem výsledků dotazu zobrazujícím pole nadřazeného sloupce

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.

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.

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ší.