Freigeben über


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, können Sie je nach Änderung des Workflowstatus eine oder mehrere Regeln definieren, die angewendet werden. 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 zur Unterstützung 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

Lesen Sie diesen Artikel, um zu verstehen, wie Regeln definiert werden, die angewendet werden, wenn Sie einen Workflowstatus ändern.

  • Grundlegendes zu den Typen von Workflowregeln
  • Workflowstatus- und Regelbeschränkungen und bewährte Methoden
  • Festlegen eines Feldwerts oder Festlegen eines schreibgeschützten oder erforderlichen Felds basierend auf der Statusauswahl
  • Einschränken von Zustandsübergängen
  • Einschränken oder Zulassen von Statusübergängen auf bestimmte Benutzer oder Gruppen
  • Automatisieren von Statusübergängen übergeordneter Arbeitsaufgaben
  • Grundlegendes zu den Typen von Workflowregeln
  • Workflowstatus- und Regelbeschränkungen und bewährte Methoden
  • Festlegen eines Feldwerts oder Festlegen eines schreibgeschützten oder erforderlichen Felds basierend auf der Statusauswahl
  • Einschränken von Zustandsübergängen
  • Automatisieren von Statusübergängen übergeordneter Arbeitsaufgaben
  • Grundlegendes zu den Typen von Workflowregeln
  • Workflowstatus- und Regelbeschränkungen und bewährte Methoden
  • Festlegen eines Feldwerts oder Festlegen eines schreibgeschützten oder erforderlichen Felds basierend auf der Statusauswahl
  • Automatisieren von Statusübergängen ü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.

Workflowregeln

In der folgenden Tabelle sind die drei Gruppen von Workflowregeln aufgeführt, die Sie definieren können. Die erste Gruppe wendet Standardaktionen an, wenn eine Arbeitsaufgabe erstellt, 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. In dieser Gruppe können Sie eine oder zwei Bedingungen und mehrere Aktionen angeben.

Die zweite und dritte Gruppe unterstützen das Einschränken von Zustandsübergängen. Mit diesen beiden Gruppen können Sie eine und nur eine Bedingung angeben, in die der Zustand angegeben wird, in den eine Arbeitsaufgabe verschoben wurde. Anschließend können Sie eine oder mehrere Aktionen angeben, um den Übergang von diesem Zustand zu anderen Zuständen einzuschränken.

Die folgende Tabelle gibt die beiden Gruppen von Workflowregeln an, die Sie definieren können. Die erste Gruppe wendet Standardaktionen an, wenn eine Arbeitsaufgabe erstellt, 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. In dieser Gruppe können Sie eine oder zwei Bedingungen und mehrere Aktionen angeben.

Die zweite Gruppe unterstützt das Einschränken von Zustandsübergängen. In dieser zweiten Gruppe können Sie eine und nur eine Bedingung angeben, in die der Status einer Arbeitsaufgabe verschoben wurde. Anschließend können Sie eine oder mehrere Aktionen angeben, um den Übergang 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

Bedingungen, Arbeitsaufgabe wird erstellt

Aktionen, Arbeitsaufgabe wird erstellt


Einschränken eines Übergangs basierend auf dem Status

Bedingung, Arbeitsaufgabe wird verschoben

Aktionen, Einschränken einer Transaktion basierend auf dem Status.


Feld ausblenden oder Feld schreibgeschützt machen oder auf der Grundlage der Status- und Benutzer- oder Gruppenmitgliedschaft erforderlich machen

Bedingung, Benutzergruppenmitgliedschaft

Aktionen, Einschränken einer Transaktion basierend auf Bundesland und Mitgliedschaft.


Legen Sie basierend auf und benutzer- oder Gruppenmitgliedschaft ein Feldattribute fest, oder beschränken Sie einen Statusübergang.

Bedingung, Benutzergruppenmitgliedschaft

Aktionen, Einschränken einer Transaktion basierend auf Bundesland und Mitgliedschaft.


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.

Workflowstatus- und Regelgrenzwerte

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

Beim Definieren von Workflowstatus und -regeln empfiehlt es sich, die folgenden Anleitungen zu berücksichtigen, um Leistungsprobleme zu minimieren.

  • Minimieren Sie die Anzahl der Regeln, die Sie für ein WIT definieren. Während Sie mehrere Regeln für ein Arbeitselementtyp erstellen können, können sich Additionsregeln negativ auf die Leistung auswirken, wenn Benutzer*innen Arbeitselemente hinzufügen und ändern. Wenn Benutzer*innen Arbeitselemente speichern, überprüft das System alle Regeln, die den Feldern für den Arbeitselementtyp zugeordnet sind. Unter bestimmten Bedingungen ist der Regelüberprüfungsausdruck für die SQL-Auswertung zu komplex.
  • Minimieren Sie die Anzahl der von Ihnen definierten Arbeitselementtypen.

Workflowregeln werden beim Hinzufügen oder Ändern von Arbeitselementen über eine der folgenden Schnittstellen angewendet:

  • 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

Definieren einer Regel

Bevor Sie eine Regel basierend auf Workflowzuständen definieren, müssen Sie zuerst die folgenden Elemente definieren:

Informationen zu den Grundlagen zum Definieren von Regeln finden Sie unter Hinzufügen einer benutzerdefinierten Regel. Sie müssen die in diesem Artikel definierten Voraussetzungen erfüllen.

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 der aktiven Arbeit

In diesem Beispiel möchten Entwicklungsteams sicherstellen, dass keine User Story bearbeitet wird, bis sie von einem Teamleiter genehmigt wurde. Die Standardworkflowzustände werden verwendet, und nur ein einzelnes benutzerdefiniertes Feld, genehmigt von und Sicherheitsgruppe, Teamleitergruppe, werden hinzugefügt.

Standardworkflowstatus

Agiler Prozess, User Story, Standardworkflowstatus

Regelanforderungen

Um die Genehmigung vor der aktiven Arbeit sicherzustellen, müssen die folgenden Regeln definiert werden:

  • Das Feld "Genehmigt von" muss ausgefüllt werden, wenn der Status von "Neu" in "Aktiv" wechselt.
  • Benutzer einschränken, die nicht zur Teamleitergruppe gehören, um das Feld "Genehmigt nach " auszufüllen
  • 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

Im Einklang mit der Terminologie, die von einer Unternehmensgruppe verwendet wird, werden die folgenden Workflowzustände 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 zusätzliche Zustände definiert: Untersuchen, Entwerfen und Genehmigt. Diese Zustände sollten der Sequenz folgen, wie in der folgenden Abbildung dargestellt.

User Story, Workflowzustände

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, entschied sich die Unternehmensgruppe, Regeln zu erstellen, die die folgenden Vorwärts- und Umgekehrt-Zustandsübergänge für den Arbeitsaufgabentyp "User Story" unterstützen würden.

  • Vorgeschlagen kann nur nach Forschung und Schnitt verschoben werden
  • Forschung kann nur auf "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
  • In "Überprüfen" kann nur zu "Aktiv" (weitere Arbeit gefunden), geschlossen oder ausgeschnitten werden.
  • 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

Berücksichtigen Sie beim Einschränken von Zustandsübergängen die Fälle, in denen ein Benutzer einen Fehlerstatus verschiebt. Sie möchten, dass Benutzer ordnungsgemäß wiederherstellen können.

Darüber hinaus möchte die Unternehmensgruppe Regeln für erforderliche Felder anwenden:

  • Das Feld "Genehmigt von" muss ausgefüllt werden, wenn der Status von "Genehmigt" zu "Aktiv" wechselt.
  • Benutzer, die zur Gruppe "Autorisierte Genehmigende Personen" gehören, dürfen nur das Feld "Genehmigt nach " ausfüllen.
  • Löschen des Felds "Genehmigt nach ", wenn der Status in "Ausschneiden" verschoben wird
  • Die Annahmekriterien müssen ausgefüllt werden, wenn der Status in "Aktiv" wechselt.

Regeldefinitionen

Um die oben genannten 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 elf 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

Sobald die Regeln für den Prozess definiert sind und das Projekt mit dem Prozess aktualisiert wurde, aktualisieren Sie Ihren Browser, und überprüfen Sie die Vorgänge über das Arbeitsaufgabenformular und aus dem Browser.

Für die in der vorherigen Tabelle definierten Regeln sollten die folgenden Dropdownmenüs "Status" angezeigt werden. Öffnen Sie das Board, und überprüfen Sie die Möglichkeit, von einem Bundesland zu einem anderen zu wechseln.

Vorgeschlagen Recherchieren Entwurf Genehmigt
Vorgeschlagenes Menü Menü Designmenü Genehmigtes Menü
Aktiv Überprüfen Geschlossen Ausschneiden
Aktives Menü Im Menü Geschlossenes Menü Menü

Einschränken des Statusübergangs basierend auf der Benutzer- oder Gruppenmitgliedschaft

Wenn Sie eine der beiden Bedingungen basierend auf der Benutzer- oder Gruppenmitgliedschaft angeben, Current user is member of group ... 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 auch 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

Um Zustandsübergänge übergeordneter Arbeitsaufgaben basierend auf den Statuszuweisungen an ihre untergeordneten Arbeitsaufgaben zu automatisieren, können Sie einen Web-Hook hinzufügen und den Code und die Konfiguration verwenden, der im GitHub-Projekt "Statusübergänge automatisieren " bereitgestellt wird.

Hinweis

Das GitHub-Projekt "Statusübergänge automatisieren" ist kein unterstütztes Feature von Azure Boards und wird daher vom Produktteam nicht unterstützt. Bei Fragen, Vorschlägen oder Problemen, die Sie bei der Verwendung dieser Erweiterungen haben, heben Sie sie auf der GitHub-Projektseite auf.

Automatisieren der Neuzuweisung basierend auf Zustandsänderungen

Der Arbeitselementtyp „Fehler“ im Agile-Prozess verfügte zuvor über eine Regel, die den Fehler wieder der Person zuwies, die ihn erstellt hatte. 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.

Hinweis

Überprüfen Sie änderungen, die an einem geerbten Prozess über das Überwachungsprotokoll vorgenommen wurden. Weitere Informationen finden Sie unter Access, Export und Filtern von Überwachungsprotokollen.