Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Visual Studio 2019 | Visual Studio 2022
Frågor om arbetsobjekt i Azure Boards genererar listor över arbetsobjekt baserat på de filtervillkor som du har angett. Du kan spara och dela dessa hanterade frågor med andra.
Du kan skapa frågor från webbportalen eller från en klient som stöds, till exempel Visual Studio Team Explorer. Om du vill stödja massuppdateringar eller tillägg importerar eller exporterar du frågor med excel- eller .csv filer.
Anteckning
Följande bilder visar användargränssnittet med funktionen New Boards Hub aktiverad som standard. Mer information finns i Hantera eller aktivera funktioner.
Läs våra rekommenderade metodtips senare i den här artikeln.
Förutsättningar
| Kategori | Krav |
|---|---|
| Åtkomstnivåer | – Så här visar och kör du delade frågor: Projektmedlem. – Så här lägger du till och sparar en delad fråga: Minst Grundläggande åtkomst. |
| behörigheter | Contribute behörighet är inställd på Tillåt för mappen som du vill lägga till en sökfråga i. Som standard har gruppen Deltagare inte den här behörigheten. |
Anteckning
Användare med intressentåtkomst för ett offentligt projekt har fullständig åtkomst till frågefunktioner precis som användare med grundläggande åtkomst. Mer information finns i Snabbreferens för intressentåtkomst.
| Kategori | Krav |
|---|---|
| Åtkomstnivåer | – Så här visar och kör du delade frågor: Projektmedlem. – Så här lägger du till och sparar en delad fråga: Minst Grundläggande åtkomst. |
| behörigheter | Contribute behörighet är inställd på Tillåt för mappen som du vill lägga till en sökfråga i. Som standard har gruppen Deltagare inte den här behörigheten. |
Välj ett frågefilter
Från Power Query-redigeraren väljer du filtret för att gå vidare till en artikel med exempelfrågor. Tillsammans med frågefiltren kan du använda filter interaktivt för att fråga efter resultat.
Anteckning
Hanterade frågor stöder inte närhetssökningar, men semantiska sökningar gör det. Semantiska sökningar stöder även både * och ? som jokertecken och du kan använda mer än ett jokertecken för att matcha fler än ett tecken. Mer information finns i Sökning efter funktionella arbetsobjekt.
Filtrera funktioner
Makron
Du kan filtrera en fråga interaktivt med hjälp av
funktionen Filter.
Öppna frågor
I din webbläsare, (1) kontrollera att du har valt rätt projekt, (2) välj Tavlor > Frågor, och sedan (3) välj Alla.
Sidan Frågor öppnas på fliken Favoriter som visar de frågor som du har angett som favoriter. Du kan välja fliken Alla för att visa alla frågor som du har definierat och delat frågor för projektet.
Tips
Frågor som du eller ditt team har valt som favoriter visas på sidan Favoriter . Favoritfrågor tillsammans med andra objekt visas också på projektsidan. Mer information finns i Ange personliga favoriter eller teamfavoriter.
I ditt projekt väljer du Styrelser > Frågor och sedan Alla.
Sidan Frågor öppnas på fliken Favoriter som visar de frågor som du har angett som favoriter. Du kan välja fliken Alla för att visa alla frågor som du har definierat och delat frågor för projektet.
Tips
Frågor som du eller ditt team har valt som favoriter visas på sidan Favoriter . Favoritfrågor tillsammans med andra objekt visas också på projektsidan. Mer information finns i Ange personliga favoriter eller teamfavoriter.
Definiera en flat-lista fråga
Starta en ny fråga från fliken Frågor i webbportalen eller fliken Arbetsobjekt i Team Explorer.
- Välj Ny>ny fråga.
Power Query-redigeraren visas med följande standardinställningar: Platt lista över arbetsobjekt, Typ av arbetsobjekt=[Alla]och Tillstånd=[Alla].
- Ändra satserna Värden och lägg till eller ta bort, eller ändra typen av fråga till Arbetsobjekt och direktlänkar eller till ett träd med arbetsobjekt.
- Välj Ny>ny fråga.
Power Query-redigeraren visas med följande standardinställningar: Platt lista över arbetsobjekt, Typ av arbetsobjekt=[Alla]och Tillstånd=[Alla].
- Ändra satserna Värden och lägg till eller ta bort, eller ändra typen av fråga till Arbetsobjekt och direktlänkar eller till ett träd med arbetsobjekt.
Söka mellan eller inom projekten
Nytt frågeomfång för det aktuella projektet som standard. Men du kan skapa frågor för att hitta arbetsobjekt som definierats i organisationen eller projektsamlingen. Alla frågor som du sparar sparas dock under ett visst projekt.
Om du vill visa en lista över arbetsobjekt som definierats i två eller flera projekt markerar du Fråga mellan projekt. Följande fråga hittar till exempel alla funktioner som skapats i alla projekt under de senaste 30 dagarna.
Skärmbild av Query Editor med frågeställning över flera projekt markerad.
Anteckning
- Avgränsa flera projektnamn med listavgränsaren som definieras av de regionala inställningarna för klientdatorn, till exempel ett kommatecken
,. - När du använder fältet Tillstånd i en fråga i flera projekt begränsas de visade värdena till objekt som definierats i standardprojektet. Om du frågar mellan projekt kanske du inte ser alla möjliga tillståndsvärden från varje projekt, utan endast värden från standardprojektet. Om du till exempel har tre projekt – Projekt A, Projekt B och Projekt C – och endast Projekt A har ett tillstånd som kallas "I granskning", medan projekt B och C har olika tillstånd, visar frågan bara de tillstånd som definierats i Projekt A.
När du skapar frågor i flera projekt beror tillgängligheten för fält i listrutan Fält på om alternativet Fråga mellan projekt är aktiverat. Tänk på följande viktiga beteenden:
- Fältet Team Project blir endast tillgängligt när du har valt Söka över projekt.
- När Fråga mellan projekt är markerad visas alla fält från alla typer av arbetsobjekt som definierats i alla projekt i samlingen i listrutan Fält .
- När Fråga mellan projekt är avmarkerad visas endast fält från arbetsobjekttyper som definierats i det aktuella projektet i listrutan Fält .
Med Fråga mellan projekt markerad kan du lägga till fältet Teamprojekt för att filtrera till ett visst antal projekt.
Definiera en sats
Om du vill skapa en fråga definierar du en eller flera satser. Varje sats definierar ett filtervillkor för ett enda fält.
Exempel på frågesats
| Och/Eller | Fält | Operatör | Värde |
|---|---|---|---|
| och | Tilldelad till | = | @Me |
En lista över tillgängliga operatorer baserat på fältdatatypen finns i Snabbreferens för frågeindex.
Alla satser läggs till som ett Och-uttryck. Välj Eller om du vill ändra gruppering. Gruppera satser för att säkerställa att de körs i den sekvens som krävs.
Välj Lägg till ny sats för att lägga till en annan sats i slutet av frågan och välj sedan satsen Fält, Operator och Värde för den satsen.
Du kan till exempel söka efter alla arbetsobjekt som tilldelats dig genom att ange fältet Tilldelad till, operatorn lika med (=) och @Me makrot, som representerar din användaridentitet.
Tips
Om du vill visa WIQL-syntaxen för en fråga och hur parenteser används för att gruppera satser installerar du Marketplace Wiql-redigeraren. Det här tillägget stöder visning av WIQL-syntaxen och export till en WIQL-fil för användning i REST API-anrop. Mer information finns i Syntax för WIQL (Work Item Query Language).
Checklista för att definiera en frågesats
I den första tomma raden, under kolumnrubriken Fält , väljer du nedåtpilen för att visa listan över tillgängliga fält och väljer ett objekt i listan. Mer information finns i Frågefält och Värden.
På samma rad, under kolumnrubriken Operator , väljer du nedåtpilen för att visa listan över tillgängliga operatorer och väljer sedan ett objekt i listan. Mer information finns i Operatorer.
På samma rad, under kolumnrubriken Värde , anger du antingen ett värde eller väljer nedåtpilen och väljer sedan ett objekt i listan. Mer information om hur du använder ett makro eller en variabel för att ange aktuellt projekt, användare, datum eller annat val finns i Variabler.
Om du vill lägga till en sats väljer du Lägg till ny sats.
Du kan lägga till en sats i slutet av frågan eller utföra följande uppgifter med motsvarande ikoner:
-
Infoga ny filterrad -
Ta bort den här filterraden -
Gruppera valda satser -
Avgruppera satser
-
Använda ett arbetsobjektträd för att visa hierarkier
Använd frågan Träd för arbetsobjekt för att visa en kapslad lista med arbetsobjekt med flera nivåer. Du kan till exempel visa alla kvarvarande uppgifter och deras länkade uppgifter. Om du vill fokusera på olika delar av trädet väljer du
Expandera alla eller
Dölj alla.
Anteckning
Du kan inte skapa en fråga som visar en hierarkisk vy över testplaner, testsviter och testfall. De här objekten länkas inte ihop med hjälp av länktyperna överordnad-underordnad. Du kan dock skapa en direktlänkfråga som visar testrelaterade arbetsobjekt. Du kan också visa hierarkin via sidan Testplaner.
Definiera filtervillkoren för både överordnade och underordnade arbetsobjekt. Om du vill hitta länkade underordnade objekt väljer du Matcha arbetsobjekt på den översta nivån först. För att hitta länkade föräldraobjekt, välj Matcha länkade arbetsobjekt först.
Använda direktlänkar för att visa beroenden
Använd frågan Arbetsobjekt och Direktlänkar för att spåra arbetsobjekt som är beroende av annat spårat arbete, till exempel uppgifter, buggar, problem eller funktioner. Du kan till exempel visa kvarvarande uppgifter som är beroende av att andra objekt implementeras eller ett fel som åtgärdas.
Använd direktlänkfrågan för att spåra beroenden mellan team. Frågan hjälper dig också att hantera åtaganden som ditt team gör. Välj filtervillkoren för de översta och länkade arbetsobjekten. Och välj de typer av länkar som ska filtrera beroendena.
Filtrera listan över arbetsobjekt på första nivån genom att välja något av följande alternativ:
- Returnera endast objekt som har matchande länkar: Arbetsobjekt på första nivån returneras, men endast om de har länkar till arbetsobjekt som anges av filtervillkoren för länkade arbetsobjekt.
- Returnera alla toppnivåobjekt: Alla arbetsobjekt på första nivån returneras trots filtervillkoren för länkade arbetsobjekt. Andra nivåns arbetsobjekt som är länkade till den första nivån returnerar om de matchar filtervillkoren för länkade arbetsobjekt.
- Returnera endast objekt som inte har matchande länkar: Arbetsobjekt på första nivån returneras, men endast om de inte har länkar till arbetsobjekt som anges av filtervillkoren för länkade arbetsobjekt.
Mer information om varje länktyp finns i Referens för länktyp.
Använd och/eller logiska uttryck
Ange And eller Or skapa logiska uttryck för dina frågesatser. Använd And för att hitta arbetsobjekt som uppfyller kriterierna i både den aktuella satsen och den tidigare satsen. Använd Or för att hitta arbetsobjekt som uppfyller kriteriet i antingen den aktuella satsen eller den tidigare satsen.
Lägg till ett nytt villkor för varje arbetsobjektfält för att förfina sökkriterierna. Lägg till satser för att endast returnera den uppsättning arbetsobjekt som du vill ha. Om du inte får de resultat du förväntar dig av din fråga förfinar du den. Du kan lägga till, ta bort, gruppera eller dela upp frågesatser för att förbättra frågeresultatet.
Gruppera frågesatser för att fungera som en enskild enhet separat från resten av frågan. Grupperingssatser liknar att placera parenteser runt ett uttryck i en matematisk ekvation eller logiksats. När du grupperar satser And gäller eller Or för den första satsen i gruppen för hela gruppen.
Gruppsatser
Grupperade satser fungerar som en enskild enhet separat från resten av frågan. Grupperingssatser liknar att placera parenteser kring en matematisk ekvation eller ett logikuttryck. Operatorn And eller Or för den första satsen i gruppen gäller för hela gruppen.
Som följande exempel visar översätts de grupperade satserna till motsvarande logiska uttryck.
| Fråga | Grupperade satser | Logiskt uttryck |
|---|---|---|
| 1 |
|
|
| 2 |
|
|
| 3 |
|
|
De här frågorna returnerar arbetsobjekt som är av typen Bugg och uppfyller följande logiska uttryck:
-
Fråga 1:
AND State=Active OR Assigned to @Me -
Fråga 2:
AND (State=Active OR Assigned to @Me) -
Fråga 3:
OR (State=Active AND Assigned to @Me)
Om du vill gruppera en eller flera satser väljer du dem och väljer
sedan gruppsatsens ikon.
Du kan också gruppera flera grupperade satser. Markera kryssrutorna för varje klausul. Välj sedan
gruppsatsens ikon.
Om frågeresultatet inte returnerar förväntade resultat gör du följande:
- Kontrollera att varje sats har definierats som du tänkt dig.
- Verifiera
And/Ortilldelningar för varje sats. Om resultatet innehåller fler arbetsobjekt än förväntat finns ofta enOrsats i stället för enAndsats. - Kontrollera om du behöver gruppera eller ändra gruppering av frågesatserna och
And/Ortilldelningarna för varje grupperad sats. - Lägg till fler frågesatser för att förfina frågefiltervillkoren.
- Granska de tillgängliga alternativen för att ange fält, operatorer och värden.
- Se metodtips senare i den här artikeln.
Avgruppera en sats
Om du vill dela upp en sats väljer du
ikonen för ogrupperade satser för den grupperade satsen.
Ange standardkolumnbredd i frågeresultat
Gör följande för att ange standardkolumnbredden i frågeresultatet:
- Öppna den fråga som du vill ändra.
- Justera kolumnbredderna manuellt till önskad storlek genom att dra kanterna på kolumnrubrikerna.
- Välj Spara eller Spara som om du vill spara det som en ny fråga.
- Stäng och öppna frågan igen för att säkerställa att kolumnbredderna behålls.
Azure DevOps stöder för närvarande inte att ange en standardkolumnbredd som bevaras i alla sessioner. Kolumnbredderna sparas per fråga, så du måste justera och spara dem för varje fråga individuellt.
Visa frågeresultat i en översikt
Följande två widgetar visar frågeresultat. Du kan öppna arbetsobjekt direkt från dessa widgetar.
- Arbete som tilldelats mig: Visar en lista över alla föreslagna eller aktiva arbetsobjekt som tilldelats den inloggade användaren. Visar fälten ID, Tillstånd och Rubrik.
- Frågeresultatwidget: Visar resultatet av en flat fråga, ett träd eller en direktlänkfråga. Du kan konfigurera fälten som visas via widgeten, ändra storlek på kolumnfälten och expandera och komprimera träd- och direktlänkfrågan.
Mer information finns i Lägga till widgetar på en instrumentpanel.
Visa frågeresultatwidget med överordnade rubriker
Gör följande för att visa resultatet av en fråga med den överordnade rubriken:
- Skapa en fråga som filtrerar de intressanta arbetsobjekten. Frågan kan vara en fråga med platt lista, träd eller direktlänkar.
- Lägg till fältet Överordnat som en kolumn. Även om fältet Överordnat kan inkluderas kan standardbeteendet bara visa ID:t för det överordnade arbetsobjektet. För att säkerställa att namnet visas tillsammans med ID:t kombinerar du fälten Arbetsobjekttyp och Överordnad med fältet Rubrik i frågestrukturen.
- Spara frågan som en delad fråga eller gruppfavorit.
- Lägg till Frågeresultat-widgeten till instrumentpanelen och konfigurera förfrågan. Kontrollera att fältet Överordnat är inställt på att visas.
Följande bild illustrerar en frågeresultatwidget som visar fältet "Parent".
Definiera en fråga som en hyperlänk
En frågehyperlänk använder WIQL (Work Item Query Language), som liknar Transact-SQL. Mer information finns i Syntax för WIQL (Work Item Query Language).
Anteckning
De flesta webbläsare tillämpar en gräns på mellan 2 000 och 2 083 tecken för en URL-sträng.
Sök hyperlänksyntax
Koda WIQL-delen av URL-syntaxen. Du kan använda valfritt URL-kodarverktyg för att koda din URL.
https://dev.azure.com/OrganizationName/ProjectName/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage}
Följande hyperlänk visar till exempel ID:t och rubriken för alla aktiva buggar som definierats under sökvägen FabrikamFiber/Webbområde för Fabrikam-organisationen.
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'
Den avkodade WIQL:en överensstämmer med:
SELECT [System.ID], [System.Title]
FROM WorkItems
WHERE [System.TeamProject]='FabrikamFiber'
AND [System.WorkItemType]='Bug'
AND [System.State]='Active'
AND [System.AreaPath]='FabrikamFiber\Web'
Anteckning
WIQL-längden får inte överstiga 32 K tecken för Azure Boards-frågor.
Sök hyperlänksyntax
https://{ServerName}/{CollectionName}/{ProjectName}/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage}
Följande hyperlänk visar till exempel ID, rubrik och tillstånd för alla buggar under sökvägen FabrikamFiber/Webbområde.
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
Se till exempel följande icke-kodade postning.
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'
Bästa praxis
Följande metodtips gäller för följande frågor som du kan skapa:
Skapa fokuserade, selektiva frågor
Definiera en mycket selektiv fråga genom att tillämpa alla filter som krävs för din fråga. Ju mer selektiv frågan är, desto mindre blir resultatuppsättningen. Ju mindre resultatuppsättningen är, desto mer riktad och selektiv är frågan.
Använda taggar för att kategorisera arbetsobjekt
Använd arbetsobjekttaggar för att kategorisera dina arbetsobjekt i stället för ett anpassat fält. Frågor som filtrerar på taggar fungerar vanligtvis snabbare jämfört med de frågor som filtrerar på strängmatchningar.
Till skillnad från anpassade fältmatchningar eller partiella matchningar kräver en fråga med en Tags Contains åtgärd inte en fullständig genomsökning av alla arbetsobjektstabeller.
Använd Contains words för strängmatchningar
Om du vill filtrera efter en strängmatchning använder du operatorn Contains WordsContains i stället för . Operatorn Contains Words kör en fulltextsökning i det angivna fältet, vilket tenderar att slutföras snabbare.
Operatorn Contains kör en tabellgenomsökning, vilket är en långsammare åtgärd än operatorn Contains Words . Det förbrukar också fler CPU-cykler. Dessa CPU-cykler kan orsaka att du stöter på hastighetsbegränsningar. Mer information finns i Takt- och användningsgränser.
Ange små grupper med operatorn In Group
Operatorn In Group filtrerar arbetsobjekt baserat på matchningar i en grupp med värden. Gruppen med värden motsvarar värdena i en grupp, säkerhetsgrupp eller arbetsspårningskategori. Du kan till exempel skapa en fråga för att hitta alla arbetsobjekt som har tilldelats alla medlemmar i ett team. Du kan också hitta alla arbetsobjekt som tillhör kravkategorin (Microsoft.RequirementCategory).
När du filtrerar på en grupp som innehåller ett stort antal medlemmar tenderar resultatuppsättningen att vara större och icke-selektiv. Om en grupp motsvarar en stor Microsoft Entra-grupp genererar frågan dessutom en ganska stor kostnad för att lösa den gruppen från Microsoft Entra-ID.
Undvik användning av negerade operatorer
Negerade operatorer, till exempel <>, Not In, Not Under, Not In Group, tenderar att generera icke-valda frågor och stora resultatuppsättningar.
Använd endast negerade operatorer vid behov. Försök alltid hitta alternativ först. Om till exempel Field1 har värdena A, B, C, D; specificera Field1 In A, B, C villkoret istället för det negaterade Field1 <> D villkoret.
Undvik strängjämförelser
Frågor som innehåller strängjämförelser genererar tabellgenomsökningar som är ineffektiva. I stället rekommenderar vi att du använder taggar eller ett specifikt anpassat fält som alternativ, särskilt när en fråga presterar dåligt.
Begränsa Or operatorer
Begränsa antalet Or operatorer som definierats i din fråga. Frågor körs mer effektivt när färre Or operatörer används. För många Or operatorer kan göra din sökfråga oselektiv. Om frågan körs långsamt ändrar du ordning på Or operatorsatsen överst i frågesatserna.
Spara din fråga
På grund av interna optimeringar tenderar sparade frågor att fungera bättre jämfört med osparade frågor. Spara alltid frågan när du planerar att återanvända den. Även för WIQL-frågor som körs via ett REST API ska du spara WIQL via webbportalen för att göra dina REST API-anrop, så att de är mindre känsliga för framtida prestandaregressioner.
Kör din sökfråga
Ibland behöver du köra frågan några gånger för att nå rätt optimeringsplan. Spara frågan och kör den upp till 10 gånger under en 30-minutersperiod. På så sätt kan systemet undersöka och söka efter den optimeringsplan som passar bäst för din fråga.