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
ellerHTML
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
tillHTML
.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 Professional
Enterprise
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 Professional
Enterprise
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 TeamExplorer
Professional
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 på 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 arbetsobjektRegeln
VALIDUSER
anges för en typ av arbetsobjektRegeln
ALLOWEDVALUES
anges för en typ av arbetsobjekt och regeln har ett filtervillkor som exkluderar grupperMer 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:
- Namn som visas i arbetsobjektsformuläret. Se Referens för WebLayout- och Kontrollelement eller Kontroll-XML-element.
- Hjälptext. Se Regler och regelutvärdering.
- Tillåtna värden eller objekt i en listruta eller listruta. Se XML-elementen ALLOWEDVALUES, SUGGESTEDVALUES och PROHIBITEDVALUES.
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
Ange följande kommando för att byta namn på det egna namn som tilldelats till
Microsoft.VSTS.Common.Rank
Viktig rangordning.witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"
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
I Team Explorer väljer du Uppdatera.
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.
Välj Ny fråga för att skapa en fråga.
I Uređivač upita 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, markerar den tomma fältcellen och skriver 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>>.
Ta bort värdet Rank från cellen Fält och skriv Viktig rangordning i cellen.
Välj <> i cellen Operator och skriv 1 i cellen Värde .
I verktygsfältet Fråga väljer du Kör.
Ö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.
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.
Stäng frågan. Välj Nej när du uppmanas att spara frågan.
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.
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.
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
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
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
Följande bekräftelsefråga visas:
Detta ändrar egenskaperna för fältet {0} på Team Foundation Server. Vill du fortsätta?
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
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
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
ochControl
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.