Hantera arbetsobjektfält

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

Viktigt!

För den lokala XML-processmodellen kan du använda witadmin för att lista, importera, exportera och ändra en process för ett projekt. För processmodellerna Ärvd och Värdbaserad XML kan du bara använda witadmin för att lista och exportera processinformation. En översikt över processmodeller och vad som stöds finns i Anpassa din arbetsspårningsupplevelse.

Du kan hantera de fält som definierats för arbetsobjekttyper som har definierats för en projektsamling (lokal XML) med hjälp av följande witadmin-kommandon . Om du vill lägga till ett globalt fält (giltigt för lokal XML) kan du göra det genom att ändra den globala arbetsflödesfilen och importera den till samlingen.

  • changefield: Ändrar ett eller flera attribut för ett fält. När du ändrar något av följande attribut ändrar du det för alla typer av arbetsobjekt och projekt i projektsamlingen:
    • Datatyp för PlainText eller HTML fält.

      Viktigt!

      När du uppgraderar Team Foundation Server från en tidigare version till den aktuella versionen konverteras typtilldelningen för fältet Beskrivning (System.Description) automatiskt från PlainText till HTML. changefield Med kommandot kan du återställa innehållet i det här fältet för att visa oformaterad text.

    • Eget namn som visas i arbetsobjektfrågan. Det här namnet kan skilja sig från det som visas i arbetsobjektsformuläret.

    • Rapportattribut som innehåller namnet på fältet som det visas i en rapport, referensrapportens namn och rapporteringstypen.

    • Synkronisering med Active Directory – du kan aktivera/inaktivera synkronisering av namnfält för personer.

  • deletefield: Tar bort det angivna fältet.
  • listfields: Visar attributen för alla fält eller ett angivet fält.

Kommentar

Kommandot witadmin indexfield har blivit inaktuellt med Azure DevOps Server 2019 och senare versioner. Indexeringsfält krävs inte längre.

witadmin Kör kommandoradsverktyget

Om du vill köra witadmin kommandoradsverktyget öppnar du ett kommandotolkfönster där Visual Studio är installerat. Kommandoradsverktyget witadmin installeras med valfri version av Visual Studio. Du kan komma åt det här verktyget genom att installera den kostnadsfria versionen av Visual Studio Community eller Visual Studio Team Explorer.

Kommentar

För att ansluta till Azure DevOps Services rekommenderar vi att du använder den senaste versionen av Visual Studio eller Visual Studio Community.

Kommentar

För att ansluta till en lokal server rekommenderar vi att du använder samma eller senare version av Visual Studio som Din Azure DevOps Server. Om du till exempel ansluter till Azure DevOps Server 2019 ansluter du till projektet från en version av Visual Studio 2019.

För Visual Studio 2022

%programfiles(x86)%\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

eller ProfessionalEnterprise i stället för Community, beroende på vilken version du har installerat.

För Visual Studio 2019

%programfiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

eller ProfessionalEnterprise i stället för Community, beroende på vilken version du har installerat.

För Visual Studio 2017

%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

eller TeamExplorerProfessional i stället för Enterprise, beroende på vilken version du har installerat.

I en 32-bitarsversion av Windows ersätter du %programfiles(x86)% med %programfiles%. Du kan installera Visual Studio Community (som ger åtkomst till Team Explorer) eller Visual Studio Team Explorer 2017 utan kostnad.

En översikt över de fält som definierats i en standardprocessmall finns i Index för arbetsobjektfält.

Dricks

Med witadmin kan du importera och exportera definitionsfiler. Andra verktyg som du kan använda är processredigeraren (kräver att du har installerat en version av Visual Studio). Installera redigeraren För processmall från Visual Studio Marketplace.

Förutsättningar

  • Om du vill visa fält måste du ha behörigheten Visa information på projektnivå för projektet i samlingen som Tillåt.
  • Om du vill ta bort eller byta namn på fält eller ändra ett attribut för ett fält måste du vara medlem i säkerhetsgruppen Team Foundation-administratörer eller säkerhetsgruppen Administratörer för projektsamling.

Mer information finns i Ändra behörigheter på projektsamlingsnivå.

Kommentar

Även om du loggar in med administratörsbehörighet måste du öppna ett fönster med upphöjd kommandotolk för att utföra den här funktionen på en server som kör Windows Server 2008. Om du vill öppna ett upphöjt kommandotolkfönster väljer du Start, öppnar snabbmenyn Kommandotolken och väljer sedan Kör som administratör. Mer information finns på Microsofts webbplats: Användaråtkomstkontroll.

Syntax

witadmin changefield /collection:CollectionURL /n:RefName   [/name:NewName]    [/syncnamechanges:true | false]   [/reportingname:ReportingName]    [/reportingrefname:ReportingRefName]   [/reportingtype:Type]   [/reportingformula:Formula]   [/type:PlainText | HTML]   [/noprompt]  

witadmin deletefield /collection:CollectionURL /n:RefName [/noprompt]  

witadmin listfields /collection:CollectionURL /n:RefName [/unused]  

Parametrar

Parameter Beskrivning
/collection:CollectionURL Anger URI för projektsamlingen. Till exempel:

Lokalt format:http://ServerName:Port/VirtualDirectoryName/CollectionName
Om ingen virtuell katalog används använder du följande format: http://ServerName:Port/CollectionName.
/n:RefName
/n:Name
Referensnamnet för ett fält av typen arbetsobjekt.
/index Anger att du vill aktivera eller inaktivera indexering för det angivna fältet. Ange för att aktivera indexering och av för att inaktivera indexering.
/name:NewName Anger det nya namnet på fältet.
/syncnamechanges Anger att arbetsobjektfältet ska användas för att lagra namn och uppdatera när ändringar görs i Active Directory eller en arbetsgrupp. Det här alternativet är endast giltigt när ett fält med datatypen String har angetts för typename.

Ange true för att aktivera synkronisering för datafältet genom att ange false för att inaktivera synkronisering för datafältet.
/reportingname:ReportingName Anger namnet på fältet i informationslagret som ska användas för rapportering.
/reportingrefname:ReportingRefName Anger referensnamnet för fältet i informationslagret som ska användas för rapportering.
/reportingtype:Type Anger hur fältet används i lagret för rapportering. Följande värden är giltiga:

- dimension: Används för fälten Heltal, Sträng eller DateTime.
- detail: Används för fälten Heltal, Dubbel, Sträng eller DateTime.
- measure: Används för fälten Heltal och Dubbel. Standardaggregationstypen är summa. Du kan ange en annan aggregeringstyp med hjälp av formelparametern.
- none: Används för att inaktivera rapportbarhet i fältet.

Mer information finns i Om fält och attribut för arbetsobjekt.
/reportingformula:Formula Anger den sammansättningsformel som ska användas när fältet rapporteras som en measure. Den enda formel som stöds är sum.
/type:HTML | PlainText Anger att innehållet i fältet ska konverteras från PlainText till HTML eller från HTML till PlainText. Du kan bara ange det här alternativet för fält vars typtilldelning är PlainText eller HTML. Se FÄLTelementreferens (definition).
/unused Visar en lista över alla fält som inte används av något projekt som definierats i projektsamlingen.
/noprompt Inaktiverar uppmaning om bekräftelse.
/? eller help Visar hjälp om kommandot i kommandotolken.

Synkronisera personnamn med Active Directory

Du måste aktivera synkronisering manuellt av alla anpassade arbetsobjektfält som används för att tilldela personnamn som refererar till Active Directory. Du måste aktivera synkronisering för varje fält för varje projektsamling som innehåller de anpassade fälten.

Alla systemreferensfält som visar personnamn har attributet syncnamechanges inställt på true. Sådana fält är System.AuthorizedAs, System.AssignedTo, System.ChangedBy och System.CreatedBy. Synkronisering i aktiverat för varje personnamnfält som definieras i någon av standardprocessmallarna. Mer information finns i Tilldelningar och arbetsflödesfält.

När synkroniseringen har aktiverats visar fältet inte längre en statisk sträng. I stället visar fältet namnet som är associerat med ett användarkonto. När du ändrar användarnamnet i Active Directory eller i Workgroup visas det nya namnet automatiskt i ett fält med syncnamechanges inställt på true .

När du tilldelar syncnamechanges attributet till ett strängfält accepterar fältet alltid giltiga användarnamn. Fältet tillåter dock inte gruppnamn som lagras i Team Foundation Server eller i Active Directory om något av följande villkor är true:

  • Regeln VALIDUSER anges för alla typer av arbetsobjekt

  • Regeln VALIDUSER anges för en typ av arbetsobjekt

  • Regeln ALLOWEDVALUES anges för en typ av arbetsobjekt och regeln har ett filtervillkor som exkluderar grupper

    Mer information finns i Alla FÄLT-element.

Attribut som du kan ändra för varje typ av arbetsobjekt

Du ändrar följande attribut eller värden som definierats för ett fält genom att ändra definitionen för arbetsobjekttyp där fältet visas:

Exempel

Om inget annat anges gäller följande värden i varje exempel:

  • URI för projektsamlingen: http://AdventureWorksServer:8080/tfs/DefaultCollection
  • Namn på arbetsobjektfält: AdventureWorks.Field
  • Standardkodning: UTF-8

Listfält

Använd witadmin listfields för att se vilken uppsättning fält som används för att välja en som ska läggas till i en arbetsobjektstyp. Du kan också lista de attributtilldelningar som definierats för ett visst fält och avgöra vilka fält som används av vilka projekt.

Visa attributen för ett arbetsobjektfält

  • Ange följande kommando för att visa de attribut som definierats för ett angivet fält, till exempel Microsoft.VSTS.Common.Issue.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Issue  
    

    Fält- och attributinformation visas för det namngivna fältet, som du ser i det här exemplet.

    Field: Microsoft.VSTS.Common.Issue  
    Name: Issue  
    Type: String  
    Reportable As: dimension  
    Use: Adventure Works (Shared Steps), AW Future (Shared Steps), AW Current (Shared Steps)  
    Indexed: False  
    

    Parametern Använd anger namnet på varje projekt och arbetsobjekttypen där fältet används. Mer information om fältattribut finns i Index för arbetsobjektfält.

Visa en lista över alla fält i en projektsamling

  • Ange följande kommando för att visa en lista över alla fält som har definierats för en projektsamling.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection  
    

    Fältinformation för alla fält för den namngivna projektsamlingen visas. Se Index för arbetsobjektfält.

Lista fält som inte används

  • Ange följande kommando för att visa de fält som inte längre används i projektsamlingen av någon typ av arbetsobjekt.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /unused  
    

    Fält- och attributinformation visas för varje fält som inte används, som du ser i det här exemplet.

    Field: Microsoft.VSTS.CMMI.TaskType  
    Name: Task Type  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
    Field: Microsoft.VSTSUE.Common.Flag  
    Name: Flag  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
    Field: Microsoft.VSTSUE.Common.Progress  
    Name: Progress  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    

Byt namn på ett fält

Du kan ändra det egna namnet på ett arbetsobjektfält så att det uppfyller de namngivningskonventioner som ditt team använder. Observera att det nya namnet tillämpas på alla typer av arbetsobjekt som refererar till det ändrade fältet i alla projekt i projektsamlingen. Det egna namnet visas när du definierar filtervillkor i en arbetsobjektfråga. Namnet som visas i ett arbetsobjektformulär kan skilja sig från det eget namn som definierats för fältet.

Byta namn på ett arbetsobjektfält

  1. Ange följande kommando för att byta namn på det egna namn som tilldelats till Microsoft.VSTS.Common.RankViktig rangordning.

    witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"  
    
  2. I bekräftelsemeddelandet skriver du y och trycker sedan på RETUR. Vänta tills du får följande meddelande:

    Fältet har bytt namn.

Så här verifierar du ändringar som importerats till ett enskilt projekt

  1. I Team Explorer väljer du UppdateraUppdatera.

    De senaste uppdateringarna laddas ned från servern, som innehåller de ändringar som du precis har gjort i fältnamnet. Vänta några sekunder tills uppdateringen har slutförts.

  2. Välj Ny fråga för att skapa en fråga.

  3. I Power Query-redigeraren väljer du länken Klicka här för att lägga till en satslänk för att lägga till en rad, markera den tomma fältcellen och skriv Rank i cellen. Följande meddelande visas ovanför resultatlistan. Det här meddelandet anger att rankningen inte kan hittas.

    Kör frågan för att se frågeresultatet. TF51005: Frågan refererar till ett fält som inte finns. Felet orsakas av <<rankning>>.

  4. Ta bort värdet Rank från cellen Fält och skriv Viktig rangordning i cellen.

  5. Välj <> i cellen Operator och skriv 1 i cellen Värde .

  6. I verktygsfältet Fråga väljer du Köra frågaKör.

  7. Öppna snabbmenyn för valfri rad i resultatet och välj Kolumnalternativ. Rulla nedåt i listan Tillgängliga kolumner . Observera att fältet Rank inte längre finns men att fältet Viktig rankning finns.

  8. Välj Viktig rangordning i rutan Tillgängliga kolumner och välj > sedan knappen (lägg till valda kolumner). Välj OK.

    Observera att det egna namnet för Microsoft.VSTS.Common.Rank har bytt namn från Rank till Viktig rangordning i frågeverktyget och resultatlistan.

  9. Stäng frågan. Välj Nej när du uppmanas att spara frågan.

  10. Skapa ett nytt uppgiftsarbetsobjekt. Välj länken Nya arbetsobjekt och välj sedan Aktivitet.

    Det här arbetsobjektet skapas från den arbetsobjekttyp som du har ändrat och importerat.

  11. Observera i rutan Status att etiketten för det omdöpta fältet Rank inte har ändrats. Det beror på att fältetiketterna i arbetsobjektsformulären är begränsade till det överordnade projektet och är oberoende av det serveromfattande fältnamn som just angetts.

    Kommentar

    Mer information om hur du ändrar fältetiketter i arbetsobjektsformulär finns i Referens för kontroll av XML-element.

  12. Stäng den nya aktiviteten och välj Nej när du uppmanas att spara arbetsobjektet.

Ändra rapporten som värde för ett fält

Följande kommando anger möjligheten att rapportera typen av DateTime-fältet AdventureWorks.CreatedOn till dimension. Det här fältets data anger informationslagret och Analysis Services-databaserna så att de kan användas för att filtrera rapporter.

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.CreatedOn /reportingtype:dimension  

Följande kommando anger möjligheten att rapportera typen av fältet Double AdventureWorks.Field som ska mätas. Alla mått aggregeras med summa.

witadmin reportfield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field /reportingtype:measure  

Aktivera synkronisering av ett anpassat namnfält

Följande kommando aktiverar synkronisering för arbetsobjektfältet AW. CustomerName har definierats för Collection1 på AdventureWorksServer.

Kontrollera datatypen för det fält som du vill konvertera

  1. Kontrollera den datatyp som tilldelats fältet, till exempel MyCompany.CustomerName, som du vill synkronisera genom att ange följande kommando:

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName  
    

Aktivera synkronisering

  1. Om du vill aktivera synkronisering för ett personnamnsfält skriver du följande kommando och ersätter dina data med de argument som visas här:

    witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName /syncnamechanges:true  
    
  2. Följande bekräftelsefråga visas:

    Detta ändrar egenskaperna för fältet {0} på Team Foundation Server. Vill du fortsätta?

  3. Skriv 0 för att bekräfta att du vill ändra fältet eller 1 för att avbryta begäran.

    Om ändringsbegäran lyckas visas följande bekräftelsemeddelande:

    Fältet uppdaterades.

    Om ändringsbegäran misslyckas visas ett felmeddelande. De vanligaste misstagen som kan göras är att försöka ändra ett systemreferensfält eller försöka ändra ett fält av en annan datatyp än Sträng. Dessa åtgärder stöds inte.

Ta bort ett fält

Innan du tar bort ett fält kontrollerar du att fältet inte används. Om fältet används måste du först ta bort fältet från de arbetsobjekttyper som använder det innan du tar bort det från projektsamlingen. Följande kommando tar bort fältet AdventureWorks.Field från Collection1:

witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field  

Kontrollera att ett fält inte används

  1. Ange följande kommando och ange referensnamnet för arbetsobjektfältet, till exempel MyCompany.MyProcess.MyField.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.MyProcess.MyField  
    

    I den information som visas för fältet kontrollerar du att värdet för Använd är "Inte använd" enligt följande i det här exemplet.

    Field: MyCompany.MyProcess.MyField  
    Name: MyField  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
  2. Om fältet Använd anger att fältet används måste du ta bort det från varje arbetsobjekttyp för varje projekt som visas. Fältet anger till exempel Microsoft.VSTS.TCM.SystemInfo att det används av arbetsobjekttyperna Fel- och kodfel för fyra projekt: Arroyo, Desert, Palm och Springs.

    Field: Microsoft.VSTS.TCM.SystemInfo  
    Name: System Info  
    Type: Html  
    Reportable As: None  
    Use: Arroyo (Bug), Desert (Bug), Palm (Bug), Springs (Bug, Code Defect)  
    Indexed: False  
    

    Innan du kan ta bort det här fältet måste du ta bort det från var och en av de arbetsobjekttyper som anges för varje projekt som det har definierats för. Om du vill ta bort fältet ändrar du definitionen för arbetsobjekttypen genom att ta bort elementen FIELD och Control som innehåller fältets referensnamn. Se Importera, exportera och hantera arbetsobjekttyper, FÄLT-elementreferens (Definition) och Kontroll.

Ta bort ett fält från en projektsamling

Ange följande kommando för att ta bort fältet MyCompany.MyProcess.MyField och välj sedan Retur.

witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:RefName  

Ange y i bekräftelseprompten för att slutföra det här steget.