Anwenden von Regeln auf Workflowzustände (Vererbungsprozess)
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Nachdem Sie Ihren Workflowstatus für einen Arbeitsaufgabentyp hinzugefügt oder geändert haben, definieren Sie Regeln, die basierend auf der Änderung des Workflowstatus gelten. Das Hinzufügen von Regeln zu Workflowzuständen unterstützt die folgenden Szenarien:
- Unterstützen eines Genehmigungsprozesses
- Verhindern, dass nicht autorisierte Benutzer einen ungültigen Zustand festlegen
- Festlegen eines felds erforderlich oder schreibgeschützt oder eines anderen Werts basierend auf Statusänderungen
- Einschränken des Übergangs von einem Zustand zu einem anderen
- Einschränken oder Zulassen von Statusübergängen auf bestimmte Benutzer oder Gruppen
- Verwalten eines kontrollierten Workflowprozesses und Unterstützen von Überwachungsanforderungen
- Automatisieren des Schließens übergeordneter Arbeitsaufgaben
- Unterstützen eines Genehmigungsprozesses
- Verhindern, dass nicht autorisierte Benutzer einen ungültigen Zustand festlegen
- Festlegen eines felds erforderlich oder schreibgeschützt oder eines anderen Werts basierend auf Statusänderungen
- Einschränken des Übergangs von einem Zustand zu einem anderen
- Automatisieren des Schließens übergeordneter Arbeitsaufgaben
- Unterstützen eines Genehmigungsprozesses
- Festlegen eines felds erforderlich oder schreibgeschützt oder eines anderen Werts basierend auf Statusänderungen
- Automatisieren des Schließens übergeordneter Arbeitsaufgaben
Wichtig
Das Vererbungsprozessmodell ist für Projekte verfügbar, die für die Unterstützung konfiguriert sind. Wenn Sie eine ältere Sammlung verwenden, überprüfen Sie die Prozessmodellkompatibilität. Wenn Ihre lokale Sammlung für die Verwendung des lokalen XML-Prozessmodells konfiguriert ist, können Sie dieses Prozessmodell nur verwenden, um die Arbeitsverfolgungserfahrung anzupassen. Weitere Informationen finden Sie unter Auswählen des Prozessmodells für Ihre Projektsammlung.
Voraussetzungen
Um Regeln auf Workflowzustände in Azure DevOps anzuwenden, benötigen Sie bestimmte Berechtigungen und Zugriffsstufen:
Berechtigungen:
- Als Projektadministrator können Sie Sicherheitsgruppen und Berechtigungen auf Projektebene verwalten, die das Festlegen von Regeln für Workflowzustände umfasst.
- Verfügen Sie über die Berechtigung zum Nachverfolgen von Arbeitsaufgaben, mit der Sie den Arbeitsbereich für die Nachverfolgung verwalten können, der Mitgliedern der Gruppe "Projektadministratoren" oder über bestimmte Berechtigungen gewährt werden kann.
Zugriffsebenen:
- Verfügen Sie über einen einfachen Zugriff, der in der Regel für die meisten Benutzer ausreicht, die Arbeitsaufgaben verwalten und Regeln auf Workflowzustände anwenden müssen.
Grundlegendes zu Workflowregeln
In der folgenden Tabelle werden die drei Gruppen von Workflowregeln beschrieben, die Sie definieren können:
Standardaktionen:
- Wenden Sie an, wenn eine Arbeitsaufgabe erstellt, in einem ausgewählten Zustand oder von einem Zustand in einen anderen verschoben wird.
- Aktionen umfassen das Festlegen des Werts eines Felds, das Schreibschutzfeld oder das Festlegen eines Felds, das erforderlich ist.
- Sie können eine oder zwei Bedingungen und mehrere Aktionen angeben.
Einschränken von Zustandsübergängen (Gruppe 1):
- Geben Sie eine Bedingung an, die den Zustand angibt, aus dem eine Arbeitsaufgabe verschoben wurde.
- Definieren Sie Aktionen, um Übergänge von diesem Zustand zu anderen Zuständen einzuschränken.
Einschränken von Zustandsübergängen (Gruppe 2):
- Geben Sie ähnlich wie bei der ersten Gruppe eine Bedingung an, die den Zustand angibt, aus dem eine Arbeitsaufgabe verschoben wurde.
- Definieren Sie Aktionen, um Übergänge von diesem Zustand zu anderen Zuständen einzuschränken.
In der folgenden Tabelle werden die beiden Gruppen von Workflowregeln beschrieben, die Sie definieren können:
Standardaktionen:
- Wenden Sie an, wenn eine Arbeitsaufgabe erstellt, in einem ausgewählten Zustand oder von einem Zustand in einen anderen verschoben wird.
- Aktionen umfassen das Festlegen des Werts eines Felds, das Schreibschutzfeld oder das Festlegen eines Felds, das erforderlich ist.
- Sie können eine oder zwei Bedingungen und mehrere Aktionen angeben.
Einschränken von Zustandsübergängen:
- Geben Sie eine Bedingung an, die den Zustand angibt, aus dem eine Arbeitsaufgabe verschoben wurde.
- Definieren Sie eine oder mehrere Aktionen, um Übergänge von diesem Zustand zu anderen Zuständen einzuschränken.
Hinweis
Bestimmte Features erfordern die Installation des Azure DevOps Server 2020.1-Updates. Weitere Informationen finden Sie unter Azure DevOps Server 2020 Update 1 RC1 Versionshinweise, Boards.
Workflowbedingungen und Aktionen, die Sie festlegen können, sind in den folgenden Bildern dargestellt. Sie können Standardaktionen anwenden, wenn eine Arbeitsaufgabe erstellt wird, in einem ausgewählten Zustand oder von einem Zustand in einen anderen verschoben wird. Diese Standardaktionen legen den Wert eines Felds fest oder machen ein Feld schreibgeschützt oder erforderlich. Für diesen Regelsatz können Sie eine oder zwei Bedingungen und mehrere Aktionen angeben.
Condition
Unterstützte Aktionen
Festlegen des Feldwerts oder Festlegen eines schreibgeschützten/erforderlichen Werts basierend auf dem Status
Einschränken eines Übergangs basierend auf dem Status
Feld ausblenden oder Feld schreibgeschützt machen oder auf der Grundlage der Status- und Benutzer- oder Gruppenmitgliedschaft erforderlich machen
Legen Sie basierend auf und benutzer- oder Gruppenmitgliedschaft ein Feldattribute fest, oder beschränken Sie einen Statusübergang.
Hinweis
Wenn Sie einen geerbten Prozess anpassen, spiegeln alle Projekte, die diesen Prozess verwenden, automatisch die Anpassungen wider. Um einen reibungslosen Übergang sicherzustellen, empfehlen wir, einen Testprozess und ein Projekt zu erstellen, mit dem Sie Ihre Anpassungen testen können, bevor Sie sie organisationsweit implementieren. Weitere Informationen finden Sie unter Erstellen und Verwalten geerbter Prozesse.
Grundlegendes zu Workflowstatus- und Regelgrenzwerten
Workflowregeln werden angewendet, wenn Sie Arbeitsaufgaben über eine der folgenden Schnittstellen hinzufügen oder ändern:
- Webportal: Arbeitselementformular, Massenaktualisierungen, Aktualisierungen in der Abfrageansicht
- Webportal: Board oder Taskboard, Arbeitsaufgabe in Spalte verschieben
- Visual Studio 2017 und frühere Versionen, Arbeitsaufgabenformular
- CSV-Dateiformat: Massenimport oder -aktualisierung
- Excel: Massenimport oder -aktualisierung
- REST-API: Hinzufügen oder Ändern von Arbeitsaufgaben
In der folgenden Tabelle sind die Workflowstatus- und Regelgrenzwerte für den Vererbungsprozess zusammengefasst.
Object | Vererbungslimit |
---|---|
Für einen Prozess definierte Arbeitselementtypen | 64 |
Für einen Arbeitselementtyp definierte Workflowstatus | 32 |
Für einen Arbeitselementtyp definierte Regeln | 1024 |
Wenn Sie Workflowzustände und Regeln definieren, befolgen Sie die folgenden Richtlinien, um Leistungsprobleme zu minimieren:
- Beschränken Sie die Anzahl der Regeln für ein WIT: Während Sie mehrere Regeln für einen Arbeitsaufgabentyp (Work Item Type, WIT) erstellen können, können sich mehr Regeln negativ auf die Leistung auswirken, wenn Benutzer Arbeitsaufgaben hinzufügen oder ändern. Das System überprüft alle Regeln, die den Feldern für den Arbeitsaufgabentyp zugeordnet sind, wenn Benutzer Arbeitsaufgaben speichern. In einigen Fällen kann der Regelüberprüfungsausdruck zu komplex werden, damit SQL ausgewertet werden kann.
- Beschränken Sie die Anzahl der benutzerdefinierten Arbeitsaufgabentypen: Das Reduzieren der Anzahl von benutzerdefinierten Arbeitsaufgabentypen kann dazu beitragen, optimale Leistung zu gewährleisten.
Definieren einer Regel
Bevor Sie eine Regel basierend auf Workflowzuständen definieren, stellen Sie sicher, dass die folgenden Elemente vorhanden sind:
- Workflowzustände: Definieren Sie die Workflowzustände, wie unter "Workflow anpassen" beschrieben.
- Benutzerdefinierte Felder: Wenn für Ihre Regel ein benutzerdefiniertes Feld erforderlich ist, fügen Sie es dem Arbeitsaufgabentyp hinzu, wie in "Hinzufügen und Verwalten von Feldern" beschrieben.
- Sicherheitsgruppen: Wenn Für Ihre Regel eine Sicherheitsgruppe erforderlich ist, um Änderungen zu gewähren oder einzuschränken, die auf der Benutzer- oder Gruppenmitgliedschaft basieren, definieren Sie die Sicherheitsgruppe, wie unter "Hinzufügen oder Entfernen von Benutzern oder Gruppen" beschrieben, und verwalten Sie Sicherheitsgruppen.
Weitere Informationen zum Definieren von Regeln finden Sie unter Hinzufügen einer benutzerdefinierten Regel.
Festlegen des Feldwerts oder Festlegen eines schreibgeschützten oder erforderlichen Felds
Mit der ersten Gruppierung von Regeln können Sie eine oder zwei Bedingungen und bis zu 10 Aktionen pro Regel angeben.
Beispiel für die Sicherstellung der Genehmigung von Teamleitern vor aktiver Arbeit
In diesem Beispiel möchten Entwicklungsteams sicherstellen, dass keine Benutzergeschichte bearbeitet wird, bis sie von einem Teamleiter genehmigt wurde. Die Standardworkflowzustände werden verwendet, mit dem Hinzufügen eines benutzerdefinierten Felds, genehmigt von und einer Sicherheitsgruppe, Teamleitergruppe.
Standardworkflowstatus
Regelanforderungen
Um die Genehmigung vor der aktiven Arbeit sicherzustellen, definieren Sie die folgenden Regeln:
- Das Feld "Genehmigt von" muss ausgefüllt werden, wenn der Status von "Neu" zu "Aktiv" wechselt.
- Benutzer, die sich nicht in der Teamleitergruppe befinden, am Ausfüllen des Felds "Genehmigt nach" einschränken
- Löschen des Felds "Genehmigt nach ", wenn der Status in " Neu " oder "Entfernt" verschoben wird
Regeldefinitionen
Die Regelanforderungen werden in die folgenden vier Regeldefinitionen übersetzt.
Regelname
Condition
Aktionen
Genehmigt durch löschen, wenn "Neu"
Wann A work item state changes to New
Dann Clear the value of Approved By
Genehmigt durch löschen, wenn sie entfernt wurde
Wann A work item state changes to Removed
Dann Clear the value of Approved By
Genehmigt von Schreibgeschützt
Wann Current user is not member of group Team Leads Group
Dann Make read-only Approved By
Genehmigt von erforderlich
Wann A work item state changes from New to Active
Dann Make required Approved By
Einschränken von Zustandsübergängen
Wenn Sie die Bedingung angeben, A work item state moved from ...
können Sie nur diese Bedingung angeben. Sie können bis zu 10 Aktionen angeben.
Hinweis
Für dieses Feature wird Azure DevOps Server 2020.1, Update 1 oder höher benötigt.
Beispiel für das Einschränken von Zustandsübergängen und genehmigten Status
Die folgenden Workflowzustände sind für den User Story definiert. Die geerbten Zustände "Neu", "Aufgelöst" und "Entfernt " sind ausgeblendet. Stattdessen werden "Vorgeschlagen", "Überprüfen" und "Ausschneiden" verwendet. Darüber hinaus werden drei weitere Zustände definiert: Untersuchen, Entwerfen und Genehmigt. Diese Zustände sollten der Sequenz folgen, wie in der folgenden Abbildung dargestellt.
Ohne Einschränkungen können Benutzer von einem Staat in einen anderen Staat wechseln, sowohl vorwärts als auch rückwärts innerhalb der Sequenz.
Regelanforderungen
Um einen kontrollierteren Workflow zu unterstützen, hat sich die Unternehmensgruppe entschieden, Regeln zu erstellen, die die folgenden Vorwärts- und Umgekehrt-Zustandsübergänge für den Arbeitsaufgabentyp "User Story" unterstützen.
Staat | Übergangsregel |
---|---|
Proposed | Kann nur nach Forschung und Ausschneiden verschoben werden |
Recherchieren | Kann nur in "Entwurf" und "Ausschneiden" verschoben werden. |
Design | Kann nur zu "Recherchieren", "Genehmigt" und "Ausschneiden" wechseln |
Genehmigt | Kann nur in "Entwurf", "Aktiv" und "Ausschneiden" verschoben werden. |
Aktiv | Kann nur zu "In Review" wechseln |
Wird überprüft | Kann nur zu "Aktiv" (weitere Arbeit gefunden), "Geschlossen " oder "Ausschneiden" wechseln |
Geschlossen | Kann zu "Recherchieren", "Entwurf", "Aktiv", "Überprüfen" wechseln (Ermöglicht Fällen, in denen der Benutzer die Arbeitsaufgabe fehlerhaft geschlossen hat) |
Ausschneiden | kann nur auf "Vorgeschlagen" verschoben werden. |
Hinweis
Wenn Sie Zustandsübergänge einschränken, sollten Sie Fälle berücksichtigen, in denen ein Benutzer einen Fehlerstatus verschieben kann. Stellen Sie sicher, dass Benutzer ordnungsgemäß wiederherstellen können.
Darüber hinaus möchte die Unternehmensgruppe die folgenden Regeln für erforderliche Felder anwenden:
- Muss das Feld "Genehmigt nach " ausgefüllt werden, wenn der Status von "Genehmigt " zu "Aktiv" wechselt.
- Zulassen, dass nur Benutzer in der Gruppe "Autorisierte Genehmigende Personen " das Feld "Genehmigt von " ausfüllen können.
- Deaktivieren Sie das Feld "Genehmigt von" , wenn der Zustand in "Ausschneiden" verschoben wird.
- Das Feld "Akzeptanzkriterien" muss ausgefüllt werden, wenn der Zustand in "Aktiv" verschoben wird.
Regeldefinitionen
Um die zuvor erwähnten Einschränkungen zu implementieren, fügt der Prozessadministrator ein benutzerdefiniertes Feld "Genehmigt nach Identität", eine Sicherheitsgruppe für autorisierte Genehmigende Personen und die folgenden Regeln hinzu.
Regelname
Condition
Aktionen
Vorgeschlagener Zustand
Wann A work item state moved from Proposed
Dann Restrict the state transition to Design
Und Restrict the state transition to Approved
Und Restrict the state transition to Active
Und Restrict the state transition to In Review
Und Restrict the state transition to Closed
Forschungszustand
Wann A work item state moved from Research
Dann Restrict the state transition to Proposed
Und Restrict the state transition to Approved
Und Restrict the state transition to Active
Und Restrict the state transition to In Review
Und Restrict the state transition to Closed
Entwurfszustand
Wann A work item state moved from Design
Dann Restrict the state transition to Proposed
Und Restrict the state transition to Research
Und Restrict the state transition to Active
Und Restrict the state transition to In Review
Und Restrict the state transition to Closed
Genehmigter Zustand
Wann A work item state moved from Approved
Dann Restrict the state transition to Proposed
Und Restrict the state transition to Research
Und Restrict the state transition to Design
Und Restrict the state transition to In Review
Und Restrict the state transition to Closed
Aktiver Zustand
Wann A work item state moved from Active
Dann Restrict the state transition to Proposed
Und Restrict the state transition to Research
Und Restrict the state transition to Design
Und Restrict the state transition to Approved
Und Restrict the state transition to Closed
Im Status "Überprüfen"
Wann A work item state moved from In Review
Dann Restrict the state transition to Proposed
Und Restrict the state transition to Research
Und Restrict the state transition to Design
Und Restrict the state transition to Approved
Geschlossener Zustand
Wann A work item state moved from Closed
Dann Restrict the state transition to Proposed
Und Restrict the state transition to Cut
Ausschneiden des Zustands
Wann A work item state moved from Cut
Dann Restrict the state transition to Research
Und Restrict the state transition to Design
Und Restrict the state transition to Approved
Und Restrict the state transition to Active
Und Restrict the state transition to In Review
Und Restrict the state transition to Closed
Erforderliche Felder für den genehmigten Zustand
Wann A work item changes from Approved to Active
Dann Make required Acceptance Criteria
Und Make required Approved By
Autorisierte Genehmigende Personen
Wann Current user is not a member of Authorized Approvers
Dann Make read-only Approved By
Löschen des Felds "Genehmigt nach"
Wann A work item state changes to Cut
Dann Clear the value of Approved By
Überprüfen von Statusübergangseinschränkungen
Nachdem Sie die Regeln für den Prozess definiert und das Projekt aktualisiert haben, aktualisieren Sie Ihren Browser. Überprüfen Sie die Vorgänge über das Arbeitsaufgabenformular und den Browser.
Überprüfen Sie für die in der vorherigen Tabelle definierten Regeln die Dropdownmenüs "Status". Öffnen Sie das Board, und stellen Sie sicher, dass Sie von einem Zustand zu einem anderen wechseln können.
Vorgeschlagen | Recherchieren | Entwurf | Genehmigt |
---|---|---|---|
Aktiv | Überprüfen | Geschlossen | Ausschneiden |
Einschränken des Statusübergangs basierend auf der Benutzer- oder Gruppenmitgliedschaft
Wenn Sie eine der beiden Bedingungen basierend auf der Benutzer- oder Gruppenmitgliedschaft Current user is member of group ...
angeben oder Current user is not member of group ...
können Sie nur eine Bedingung angeben. Wenn Sie die Aktion Restrict the transition to state...
angeben, können Sie außerdem nur eine Aktion angeben.
Hinweis
Arbeitselemente unterliegen den für sie geltenden Regeln. Bedingte Regeln, die auf Benutzer- oder Gruppenzugehörigkeit basieren, werden für Ihren Webbrowser zwischengespeichert. Wenn Sie ein Arbeitselement nicht aktualisieren können, sind Sie möglicherweise auf eine dieser Regeln gestoßen. Wenn Sie der Ansicht sind, dass ein aufgetretenes Problem nicht auf Sie zutrifft, finden Sie weitere Informationen unter Behandeln von Problemen bei der Zwischenspeicherung von Arbeitselementen.
Automatisieren von Statusübergängen übergeordneter Arbeitsaufgaben
Informationen zum Automatisieren von Statusübergängen für übergeordnete Arbeitsaufgaben, die auf den Statuszuweisungen ihrer untergeordneten Arbeitsaufgaben basieren, finden Sie unter Automatisieren von Übergängen des Arbeitsaufgabenstatus.
Automatisieren der Neuzuweisung basierend auf Zustandsänderungen
Der Arbeitsaufgabentyp "Agile-Prozess" hatte zuvor eine Regel, die den Fehler dem Ersteller neu zugewiesen hat. Diese Regel wurde aus dem Standardsystemprozess entfernt. Sie können die Regel erneut festlegen oder eine ähnliche Regel zu anderen Arbeitsaufgabentypen hinzufügen, indem Sie die folgende Bedingung und Aktion verwenden:
When A work item state changes to
Resolved Then Copy the value from
Created By to Assigned To.