Anpassa en värdbaserad XML-process

Azure DevOps Services

Azure DevOps Services stöder tillägg och uppdatering av processer via en administrativ upplevelse som är en webbaserad importprocess. När du har lagt till en process kan du skapa ett eller flera projekt från den. Du kan uppdatera processen när som helst genom att importera den igen. Ändringarna i processmallen tillämpas sedan på alla projekt som använder processen.

Viktigt!

Med den värdbaserade XML-processmodellen anpassar du arbetsspårningen genom att uppdatera valda XML-definitionsfiler för en processmall. Den här funktionen är endast tillgänglig när data migreras till Azure DevOps Services med hjälp av Importtjänsten för Team Foundation Server Database.

Mer information om anpassnings- och processmodeller finns i Anpassa arbetsspårning.

En process är en zip-fil som innehåller en uppsättning beroende filer. Dessa filer definierar byggstenarna i arbetsobjektspårningssystemet och andra undersystem i Azure DevOps Services. Vissa byggstenar uppdaterar befintliga projekt, medan andra endast gäller för nya projekt. I följande tabell finns en fullständig lista över byggblock.

Används vid import/uppdatering av en process

Används när du skapar ett nytt projekt

Ersatt av systemstandarder

Ignoreras

Work Item Tracking

Intelligens

Kategorier

Processkonfiguration

Områden och iterationer

Testhantering

Work Items (arbetsuppgift)

Frågor om arbetsobjekt

Skapa

Labbhantering

Versionskontroll

Microsoft Project-mappningar

Rapporter

Portal (SharePoint-produkter)

Process-plugin-program och -objekt som stöds för processimport

Det finns skillnader mellan vad Azure DevOps Services stöder och vad den lokala Team Foundation Server stöder. En sammanfattning av dessa skillnader finns i Processmallsanpassningsskillnader.

Så här anpassar du en process

När du anpassar en process är det enklare att börja med en väldefinierad process än att skapa en ny.

Om du uppdaterar en befintlig process som du har använt med den lokala Team Foundation Server kontrollerar du att den överensstämmer med begränsningarna för mallar för import.

Öppna inställningsprocessen>

Du skapar, hanterar och gör anpassningar till processer från Organisationsinställningar>Process.

  1. Välj Azure DevOps-logotypen för att öppna Projekt. Välj sedan Organisationsinställningar.

    Öppna organisationsinställningar

  2. Välj sedan Process.

    Organisationsinställningar, sidan Process

    Viktigt!

    Om du inte ser Process arbetar du från TFS-2018 eller tidigare version. Sidan Process stöds inte. Du måste använda de funktioner som stöds för den lokala XML-processmodellen.

Exportera och importera en process

  1. På fliken Processer väljer du ellipsen (...) för att öppna snabbmenyn för den värdbaserade XML-process som du vill exportera. Du kan bara exportera värdbaserade XML-processer.

    Menyalternativet Exportera värdbaserad XML-process på processsidan >

    Spara zip-filen och extrahera alla filer från den.

  2. Byt namn på processen i den ProcessTemplate.xml filen som finns i rotkatalogen.

    Namnge processen för att skilja den från befintliga.

    <name>MyCompany Agile Process </name>

    Ändra versionstypen och ändra huvud- och delnumren. Ange ett distinkt GUID för typen som i det här exemplet:

    <version type="F50EFC58-C2FC-4C66-9814-E395D90778A3" major="1" minor="1"/>

  3. Tillämpa anpassningar som stöds.

  4. Skapa en zip-fil med alla filer och mappar i rotkatalogen.

  5. Importera zip-filen för din anpassade process.

Anpassningar som stöds

Du kan tillämpa följande anpassningar på din process:

I följande avsnitt visas begränsningar som systemet medför.

Begränsningar

Du kan importera upp till 32 processer till Azure DevOps Services. Dina anpassade processer måste överensstämma med alla följande sammanfattade regler. Annars kan verifieringsfelmeddelanden visas vid import.

Processmall

Din ProcessTemplate.xml-fil måste överensstämma med syntaxen och reglerna som beskrivs i xml-elementreferensen ProcessTemplate. Dessutom måste den uppfylla följande villkor:

  • Begränsar antalet definierade WIT till 64
  • Innehåller bara en Categories.xml definitionsfil
  • Innehåller bara en ProcessConfiguration.xml definitionsfil
  • Använder unika egna namn i alla fält och WIT-definitioner

Dessutom måste processen klara följande valideringskontroller:

  • Processnamn är unika och innehåller högst 155 Unicode-tecken.
    • En mall med samma namn och versions-GUID som en befintlig process skriver över den processen.
    • En mall med samma namn men en annan version av GUID genererar ett fel.
    • Processnamn får inte innehålla följande specialtecken: . , ; ' ` : / \ * | ? " & % $ ! + = ( ) [ ] { } < >.
      Se Namngivningsbegränsningar för ytterligare begränsningar.
  • Processmappar innehåller inga .exe filer. Även om du kan importera en process som innehåller en .exe fil misslyckas det att skapa projektet.
  • Processens totala storlek är högst 2 GB. Annars misslyckas projektskapandet.

Processkonfiguration

Den ProcessConfiguration.xml definitionsfilen måste överensstämma med syntaxen och reglerna som beskrivs i XML-elementreferensen för ProcessConfiguration. Dessutom måste den uppfylla följande villkor:

  • Anger alla TypeFields-element
  • Är begränsad till fem kvarvarande portföljer
  • Innehåller endast en oparent portfölj eftersläpning
  • Anger endast en överordnad portföljs kvarvarande uppgifter för varje underordnad portföljs kvarvarande uppgifter
  • Innehåller nödvändiga arbetsflödesstatus-till-metastate-mappningar och refererar inte till metatillstånd som inte stöds

Kategorier

Den Categories.xml definitionsfilen måste överensstämma med syntaxen och reglerna som beskrivs i XML-elementreferens för kategorier. Dessutom måste den uppfylla följande villkor:

  • Är begränsad till 32 kategorier
  • Definierar alla kategorier som refereras i filen ProcessConfiguration.xml

Typer av arbetsobjekt

Ett WITD-element och dess underordnade element måste överensstämma med syntaxen och reglerna som beskrivs i WITD XML-elementreferensen. Dessutom måste den uppfylla följande villkor:

  • Det finns högst 512 fält inom ett enda WIT- och 512-fält i alla WITs.
  • Det egna namnet och det obligatoriska refname-attributet som tilldelats en WIT är unika i uppsättningen med WIT-definitionsfiler.
  • Det obligatoriska attributet refname innehåller inte otillåtna tecken eller använder det otillåtna namnrymdssystemet.Namn och Microsoft.Namn.
  • Referensnamn innehåller minst en punkt (.) och alla andra tecken är bokstäver utan blanksteg.
  • WITD-elementet innehåller ett FORM-element som definierar ett WebLayout-element som överensstämmer med syntaxen som anges i Elementen WebLayout och Control.

Fält för arbetsobjekt

Ett FIELDS-element och dess underordnade element måste överensstämma med syntaxen och reglerna som beskrivs i FÄLT-XML-elementreferensen. Dessutom måste den uppfylla följande villkor:

  • Det egna namnet och det obligatoriska refname-attributet som tilldelats en WIT är unika i uppsättningen med WIT-definitionsfiler.
  • Det obligatoriska attributet refname innehåller inte otillåtna tecken eller använder det otillåtna namnrymdssystemet.Namn och Microsoft.Namn.
  • Referensnamn innehåller minst en punkt (.) och alla andra tecken är bokstäver utan blanksteg.

Ett FIELD-element och dess underordnade element kan innehålla ett GLOBALLIST-element .

Begränsa begränsningar

  • Ett FIELDS-element är begränsat till 512 fält.
  • En typ av arbetsobjekt är begränsad till 64 personnamnsfält. Ett personnamnsfält är ett med attributet och värdet syncnamechanges=true.
  • Ett ALLOWEDVALUES - eller SUGGESTEDVALUES-element är begränsat till 512 LISTITEM-element .
  • Ett fält är begränsat till 1 024 regler.

Obligatoriska fält

Följande fält anges i filen ProcessConfiguration.xml:

  • För alla WIT:er i en kategori som definierar en kvarvarande processkonfiguration anger du de fält som används för attributen och värdena type=Team och type=Order.
  • För alla WIT:er i en kategori som definierar en regelbunden kvarvarande eller portföljens kvarvarande uppgifter anger du det fält som används för type=Effort.
  • För alla WIT:ar i kategorin som definierar elementet TaskBacklog anger du:
    • Fältet som används för type=RemainingWork.
    • Fältet som används för type=Activity.
    • REGELN ALLOWEDVALUES för fältet som används för type=Activity.

Regelbegränsningar

Förutom standardbegränsningarna för fältregler tillämpas följande begränsningar:

  • Fältregelelement kan inte ange för och inte attribut.
  • FÄLTelement kan inte innehålla underordnade regelelementEN CANNOTLOSEVALUE, NOTSAMEAS, MATCH och PROHIBITEDVALUES.
  • Förutom följande fält, FÄLTdefinitioner för System.Namnfält får inte innehålla fältregler.
    • System.Title kan innehålla reglerna REQUIRED och DEFAULT.
    • System.Description kan innehålla reglerna REQUIRED och DEFAULT.
    • System.AssignedTo kan innehålla reglerna REQUIRED, DEFAULT, ALLOWEXISTINGVALUE och VALIDUSER.
    • System.ChangedBy kan innehålla reglerna REQUIRED, DEFAULT, ALLOWEXISTINGVALUE och VALIDUSER.

Konsekventa namn och attribut

I en process eller en projektsamling måste namn, typ och andra attribut som ett FIELD-element definierar vara samma i alla WIT-definitioner.

Identitetsfält

Identitetsfält motsvarar fält som används för att innehålla konto-, användar- eller gruppnamn. Följande kärnsystemfält är hårdkodade som identitetsfält:

  • Tilldelad till (System.AssignedTo)
  • Auktoriserad som (System.AuthorizedAs)
  • Ändrad av (System.ChangedBy)
  • Skapad av (System.CreatedBy)
  • Aktiverad av (Microsoft.VSTS.Common.ActivatedBy)
  • Stängd av (Microsoft.VSTS.Common.ClosedBy)
  • Löst av (Microsoft.VSTS.Common.ResolvedBy)
Lägga till ett anpassat identitetsfält

Ett strängfält identifieras som ett identitetsfält när du anger attributet syncnamechanges som True.

Regelbegränsningar för identitetsfält

För den aktuella versionen av processimporten ska du inte ange någon av följande regler i en FIELD-definition .

  • SUGGESTEDVALUES
  • Regler som innehåller nonidentity-värden.
Rätt exempel

Om du vill begränsa de kontonamn som är giltiga i ett identitetsfält anger du elementet VALIDUSER med ett gruppnamnattribut.

    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <VALIDUSER group="[PROJECT]\Program Manager Group" />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

Innan du importerar processen kontrollerar du att du har skapat gruppen i de projekt som processen uppdateras.

Felaktigt exempel

Följande exempel är inte giltigt eftersom det anger:

  • Ett ALLOWEDVALUES element.
  • Ett DEFAULT element som anger nonidentity-strängen value="Not Assigned".
    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <ALLOWEDVALUES>
          <LISTITEM value="[PROJECT]\Program Manager Group" />
          <LISTITEM value="Not Assigned" />
        </ALLOWEDVALUES>
        <DEFAULT from="value" value="Not Assigned" />
        <VALIDUSER />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

Arbetsflöde

Ett WORKFLOW-element och dess underordnade element måste överensstämma med syntaxen och reglerna som beskrivs i XML-elementreferensen för ARBETSFLÖDE. Dessutom måste den uppfylla följande villkor:

  • Begränsar varje WIT till 16 arbetsflödestillstånd
  • Definierar alla arbetsflödestillstånd som mappas till metatillstånd i definitionsfilen ProcessConfiguration
  • Definierar en övergång mellan alla arbetsflödestillstånd som mappats till tillståndskategorin "Föreslaget" och arbetsflödestillstånd som mappats till tillståndskategorin "InProgress"
  • Definierar en övergång mellan alla arbetsflödestillstånd som mappats till tillståndskategorin "InProgress" och arbetsflödestillstånd som mappats till tillståndskategorin "Slutför".

En beskrivning av tillståndskategori och mappningar finns i Arbetsflödestillstånd och tillståndskategorier.

Globala listor

För den värdbaserade XML-processmodellen placeras följande gränser för import av global lista:

  • Det finns högst 64 globala listor.
  • Det finns högst 1 024 objekt per lista.
  • Cirka 10 000 objekt kan definieras totalt bland alla globala listor som anges för alla WIT-enheter.

Formulärlayout

Ett FORM-element och dess underordnade element måste överensstämma med syntaxen och reglerna som beskrivs i FORM XML-elementreferensen.

Ett kontrollelement kan inte ange en anpassad kontroll. Anpassade kontroller stöds inte.