Anpassen eines gehosteten XML-Prozesses
Azure DevOps Services
Azure DevOps Services unterstützt das Hinzufügen und Aktualisieren von Prozessen über einen webbasierten Importprozess als Verwaltungsumgebung. Nachdem Sie einen Prozess hinzugefügt haben, können Sie ein oder mehrere Projekte daraus erstellen. Sie können den Prozess jederzeit aktualisieren, indem Sie ihn erneut importieren. Die an der Prozessvorlage vorgenommenen Änderungen werden auf alle Projekte angewendet, die den Prozess verwenden.
Wichtig
Mit dem Gehosteten XML-Prozessmodell passen Sie die Arbeitsnachverfolgung an, indem Sie ausgewählte XML-Definitionsdateien einer Prozessvorlage aktualisieren. Dieses Feature ist nur verfügbar, wenn Daten mithilfe des Team Foundation Server-Datenbankimportdiensts zu Azure DevOps Services migriert werden.
Weitere Informationen zu Anpassungs- und Prozessmodellen finden Sie unter Anpassen der Arbeitsnachverfolgung.
Ein Prozess ist eine ZIP-Datei, die einen Satz von zusammenhängenden Dateien enthält. Diese Dateien definieren die Bausteine des Nachverfolgungssystems für Arbeitsaufgaben und andere Subsysteme in Azure DevOps Services. Einige Bausteine aktualisieren vorhandene Projekte, während andere nur für neue Projekte gelten. Die vollständige Liste der Bausteine finden Sie in der folgenden Tabelle.
Wird beim Importieren/Aktualisieren eines Prozesses verwendet
Wird beim Erstellen eines neuen Projekts verwendet
Ersetzt durch Systemstandardwerte
Ignoriert
Arbeitselementnachverfolgung
Verstand
Kategorien
Komplexe Konfiguration
Bereiche und Iterationen
Testverwaltung
Arbeitsaufgaben
Arbeitsaufgabenabfragen
Erstellen
Lab Management
Quellcodeverwaltung
Microsoft Project-Zuordnungen
Berichte
Portal (SharePoint-Produkte)
Es gibt Unterschiede zwischen der Unterstützung von Azure DevOps Services und der lokalen Team Foundation Server.There are differences between what Azure DevOps Services supports and what on-premises Team Foundation Server supports. Eine Zusammenfassung dieser Unterschiede finden Sie unter Prozessvorlagenanpassungen.
Anpassen eines Prozesses
Wenn Sie einen Prozess anpassen, ist es einfacher, mit einem klar definierten Prozess zu beginnen, als ein neues Verfahren zu erstellen.
Wenn Sie einen vorhandenen Prozess aktualisieren, den Sie mit dem lokalen Team Foundation Server verwendet haben, stellen Sie sicher, dass er den Einschränkungen entspricht, die für den Import auf Vorlagen angewendet werden.
Öffnen Sie „Einstellungen und Prozess“.
Sie erstellen, verwalten und nehmen Anpassungen an Prozessen über die Organisationseinstellungen>Prozess vor.
Wählen Sie das Azure DevOps-Logo aus, um Projekte zu öffnen. Wählen Sie dann Organisationseinstellungen aus.
Wählen Sie dann Prozess aus.
Wichtig
Wenn Prozess nicht angezeigt wird, arbeiten Sie mit TFS-2018 oder früheren Versionen. Die Seite "Prozess " wird nicht unterstützt. Sie müssen die für das lokale XML-Prozessmodell unterstützten Features verwenden.
Exportieren und Importieren eines Prozesses
Wählen Sie auf der Registerkarte "Prozesse " die Auslassungspunkte (...) aus, um das Kontextmenü für den gehosteten XML-Prozess zu öffnen, den Sie exportieren möchten. Sie können nur gehostete XML-Prozesse exportieren.
Speichern Sie die ZIP-Datei, und extrahieren Sie alle Dateien daraus.
Benennen Sie den Prozess in der ProcessTemplate.xml-Datei im Stammverzeichnis um.
Benennen Sie den Prozess, um ihn von vorhandenen zu unterscheiden.
<name>MyCompany Agile Process </name>
Ändern Sie den Versionstyp, und ändern Sie die Haupt- und Nebennummern. Geben Sie eine eindeutige GUID für den Typ wie in diesem Beispiel an:
<version type="F50EFC58-C2FC-4C66-9814-E395D90778A3" major="1" minor="1"/>
Wenden Sie unterstützte Anpassungen an.
Erstellen Sie eine ZIP-Datei aller Dateien und Ordner im Stammverzeichnis.
Importieren Sie die ZIP-Datei Ihres benutzerdefinierten Prozesses.
Unterstützte Anpassungen
Sie können die folgenden Anpassungen auf Ihren Prozess anwenden:
- Hinzufügen, Entfernen oder Ändern eines WIT.
- Hinzufügen oder Ändern eines Felds
- Fügen Sie bis zu fünf Portfolio-Backlogs hinzu.
- Fügen Sie Kategorien hinzu, die Sie in Ihrer Prozesskonfiguration verwenden.
- Prozesskonfiguration ändern.
- Fügen Sie globale Listen hinzu.
Im folgenden Abschnitt werden Einschränkungen aufgeführt, die das System aufzwingt.
Beschränkungen
Sie können bis zu 32 Prozesse in Azure DevOps Services importieren. Ihre benutzerdefinierten Prozesse müssen allen folgenden zusammengefassten Regeln entsprechen. Andernfalls werden beim Import möglicherweise Validierungsfehler angezeigt.
- Anpassen eines gehosteten XML-Prozesses
Prozessvorlage
Ihre ProcessTemplate.xml Datei muss der syntax und den Regeln entsprechen, die in der ProcessTemplate XML-Elementreferenz beschrieben werden. Außerdem muss sie die folgenden Bedingungen erfüllen:
- Beschränkt die Anzahl der definierten WITs auf 64
- Enthält nur eine Categories.xml Definitionsdatei
- Enthält nur eine ProcessConfiguration.xml Definitionsdatei.
- Verwendet eindeutige Anzeigenamen in allen Feldern und WIT-Definitionen.
Außerdem muss Ihr Prozess die folgenden Überprüfungen bestehen:
- Prozessnamen sind eindeutig und enthalten höchstens 155 Unicode-Zeichen.
- Eine Vorlage mit demselben Namen und derselben Versions-GUID wie ein vorhandener Prozess überschreibt diesen Prozess.
- Eine Vorlage mit demselben Namen, aber eine andere Versions-GUID generiert einen Fehler.
- Prozessnamen dürfen die folgenden Sonderzeichen nicht enthalten:
. , ; ' ` : / \ * | ? " & % $ ! + = ( ) [ ] { } < >
Weitere Einschränkungen finden Sie unter Benennungseinschränkungen .
- Prozessordner enthalten keine .exe Dateien. Selbst wenn Sie einen Prozess importieren können, der eine .exe Datei enthält, schlägt die Projekterstellung fehl.
- Die Gesamtgröße des Prozesses beträgt höchstens 2 GB. Andernfalls schlägt die Projekterstellung fehl.
Prozesskonfiguration
Die ProcessConfiguration.xml Definitionsdatei muss der syntax und den Regeln entsprechen, die in der Xml-Elementreferenz "ProcessConfiguration" beschrieben sind. Außerdem muss sie die folgenden Bedingungen erfüllen:
- Gibt alle TypeFields-Elemente an.
- Ist auf fünf Portfolio-Backlogs beschränkt
- Enthält nur einen nicht analysierten Portfolio-Backlog
- Gibt nur einen übergeordneten Portfoliorückstand für jeden untergeordneten Portfoliorückstand an.
- Enthält erforderliche Workflowstatus-zu-Metastate-Zuordnungen und verweist nicht auf nicht unterstützte Metastates.
Kategorien
Die Categories.xml Definitionsdatei muss der syntax und den Regeln entsprechen, die in der Xml-Elementreferenz "Categories" beschrieben sind. Außerdem muss sie die folgenden Bedingungen erfüllen:
- Ist auf 32 Kategorien beschränkt
- Definiert alle Kategorien, auf die in der datei ProcessConfiguration.xml verwiesen wird.
Arbeitselementtypen
Ein WITD-Element und seine untergeordneten Elemente müssen der syntax und den Regeln entsprechen, die in der WITD-XML-Elementreferenz beschrieben werden. Außerdem muss sie die folgenden Bedingungen erfüllen:
- Es gibt höchstens 512 Felder innerhalb eines einzigen WIT- und 512-Felds für alle WITs.
- Der Anzeigename und das erforderliche Refname-Attribut , das einem WIT zugewiesen ist, sind innerhalb des Satzes von WIT-Definitionsdateien eindeutig.
- Der erforderliche Verweisname-Attributwert enthält keine unzulässigen Zeichen oder verwendet das nicht zulässige Namespaces System.Name und Microsoft.Name.
- Referenznamen enthalten mindestens einen Punkt (.), und alle anderen Zeichen sind Buchstaben ohne Leerzeichen.
- Das WITD-Element enthält ein FORM-Element, das ein WebLayout-Element definiert, das der in WebLayout- und Control-Elementen angegebenen Syntax entspricht.
Arbeitsaufgabenfelder
Ein FIELDS-Element und seine untergeordneten Elemente müssen der syntax und den Regeln entsprechen, die in DER FIELD XML-Elementreferenz beschrieben werden. Außerdem muss sie die folgenden Bedingungen erfüllen:
- Der Anzeigename und das erforderliche Refname-Attribut , das einem WIT zugewiesen ist, sind innerhalb des Satzes von WIT-Definitionsdateien eindeutig.
- Der erforderliche Verweisname-Attributwert enthält keine unzulässigen Zeichen oder verwendet das nicht zulässige Namespaces System.Name und Microsoft.Name.
- Referenznamen enthalten mindestens einen Punkt (.), und alle anderen Zeichen sind Buchstaben ohne Leerzeichen.
Ein FIELD-Element und seine untergeordneten Elemente können ein GLOBALLIST-Element enthalten.
Einschränkungen einschränken
- Ein FIELDS-Element ist auf 512 Felder beschränkt.
- Ein Arbeitsaufgabentyp ist auf 64 Felder mit Personennamen beschränkt. Ein Personenname-Feld ist ein Feld mit dem Attribut und dem Wert
syncnamechanges=true
. - Ein ALLOWEDVALUES - oder SUGGESTEDVALUES-Element ist auf 512 LISTITEM-Elemente beschränkt.
- Ein Feld ist auf 1.024 Regeln beschränkt.
Erforderliche Felder
Die folgenden Felder werden in der ProcessConfiguration.xml Datei angegeben:
- Geben Sie für alle WITs in einer Kategorie, die einen Prozesskonfigurations-Backlog definiert, die Felder an, die für die Attribute und Werte
type=Team
verwendet werden.type=Order
- Geben Sie für alle WITs in einer Kategorie, die einen regulären Backlog oder einen Portfolio-Backlog definiert, das für das Feld verwendet wird
type=Effort
. - Geben Sie für alle WITs in der Kategorie, die das TaskBacklog-Element definiert, Folgendes an:
- Das feld, das für
type=RemainingWork
. - Das feld, das für
type=Activity
. - Die ALLOWEDVALUES-Regel für das feld, für
type=Activity
das verwendet wird.
- Das feld, das für
Regeleinschränkungen
Zusätzlich zu den standardmäßigen Feldregeleinschränkungen werden die folgenden Einschränkungen erzwungen:
- Feldregelelemente können die Attribute nicht angeben.
- FIELD-Elemente können nicht die untergeordneten Regelelemente CANNOTLOSEVALUE, NOTSAMEAS, MATCH und PROHIBITEDVALUES enthalten.
- Mit Ausnahme der folgenden Felder sind FELDdefinitionen für System.Namenfelder dürfen keine Feldregeln enthalten.
- System.Title kann die Regeln REQUIRED und DEFAULT enthalten.
- System.Description kann die Regeln REQUIRED und DEFAULT enthalten.
- System.AssignedTo kann die Regeln REQUIRED, DEFAULT, ALLOWEXISTINGVALUE und VALIDUSER enthalten.
- System.ChangedBy kann die Regeln REQUIRED, DEFAULT, ALLOWEXISTINGVALUE und VALIDUSER enthalten.
Konsistente Namen und Attribute
Innerhalb eines Prozesses oder einer Projektauflistung müssen Name, Typ und andere Attribute, die ein FIELD-Element definiert, für alle WIT-Definitionen identisch sein.
Identitätsfelder
Identitätsfelder entsprechen Feldern, die verwendet werden, um Konto-, Benutzer- oder Gruppennamen zu enthalten. Die folgenden Kernsystemfelder sind hartcodiert als Identitätsfelder:
- Zugewiesen an (System.AssignedTo)
- Authorized As (System.AuthorizedAs)
- Geändert von (System.ChangedBy)
- Erstellt von (System.CreatedBy)
- Aktiviert von (Microsoft.VSTS.Common.ActivatedBy)
- Geschlossen von (Microsoft.VSTS.Common.ClosedBy)
- Behoben von (Microsoft.VSTS.Common.ResolvedBy)
Hinzufügen eines benutzerdefinierten Identitätsfelds
Ein Zeichenfolgenfeld wird als Identitätsfeld erkannt, wenn Sie das Attribut syncnamechanges als True angeben.
Regeleinschränkungen für Identitätsfelder
Geben Sie für die aktuelle Version des Prozessimports keine der folgenden Regeln innerhalb einer FIELD-Definition an.
- VORGESCHLAGENE WERTE
- Regeln, die Nichtidentitätswerte enthalten.
Richtiges Beispiel
Wenn Sie die in einem Identitätsfeld gültigen Kontonamen einschränken möchten, geben Sie das VALIDUSER
Element mit einem Gruppennamensattribut an.
<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>
Bevor Sie den Prozess importieren, stellen Sie sicher, dass Sie die Gruppe in den Projekten erstellt haben, die der Prozess aktualisiert.
Falsches Beispiel
Das folgende Beispiel ist ungültig, da es angibt:
- Ein
ALLOWEDVALUES
-Element. - Ein
DEFAULT
Element, das die Nichtidentitätszeichenfolgevalue="Not Assigned"
angibt.
<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>
Workflow
Ein WORKFLOW-Element und seine untergeordneten Elemente müssen der syntax und den Regeln entsprechen, die in der WORKFLOW-XML-Elementreferenz beschrieben werden. Außerdem muss sie die folgenden Bedingungen erfüllen:
- Schränkt jede WIT auf 16 Workflowzustände ein
- Definiert alle Workflowzustände, die metastates in der ProcessConfiguration-Definitionsdatei zugeordnet sind.
- Definiert einen Übergang zwischen allen Workflowzuständen, die der Statuskategorie "Vorgeschlagen" zugeordnet sind, und Workflowzuständen, die der Statuskategorie "InProgress" zugeordnet sind.
- Definiert einen Übergang zwischen allen Workflowzuständen, die der Statuskategorie "InProgress" zugeordnet sind, und Workflowzuständen, die der Statuskategorie "Abgeschlossen" zugeordnet sind.
Eine Beschreibung der Statuskategorie und -zuordnungen finden Sie unter Workflowstatus und Statuskategorien.
Globale Listen
Für das Gehostete XML-Prozessmodell werden die folgenden Grenzwerte für den Import von globalen Listen festgelegt:
- Es gibt höchstens 64 globale Listen.
- Es gibt höchstens 1.024 Elemente pro Liste.
- Ungefähr 10.000 Elemente können insgesamt unter allen globalen Listen definiert werden, die über alle WITs hinweg angegeben werden.
Formularlayout
Ein FORM-Element und seine untergeordneten Elemente müssen der syntax und den Regeln entsprechen, die in der FORM XML-Elementreferenz beschrieben werden.
Ein Steuerelementelement kann kein benutzerdefiniertes Steuerelement angeben. Benutzerdefinierte Steuerelemente werden nicht unterstützt.