Anwenden von Regeln auf Workflowzustände (Vererbungsprozess)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Nachdem Sie Ihre Workflowzustände für einen Arbeitselementtyp hinzugefügt oder geändert haben, können Sie eine oder mehrere Regeln definieren, die abhängig von der Änderung des Workflowstatus 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
  • Ein Feld erforderlich oder schreibgeschützt oder einen anderen Wert basierend auf Zustandsänderungen festlegen
  • 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 Arbeitselemente
  • Unterstützen eines Genehmigungsprozesses
  • Verhindern, dass nicht autorisierte Benutzer einen ungültigen Zustand festlegen
  • Ein Feld erforderlich oder schreibgeschützt oder einen anderen Wert basierend auf Zustandsänderungen festlegen
  • Einschränken des Übergangs von einem Zustand zu einem anderen
  • Automatisieren des Schließens übergeordneter Arbeitselemente
  • Unterstützen eines Genehmigungsprozesses
  • Ein Feld erforderlich oder schreibgeschützt oder einen anderen Wert basierend auf Zustandsänderungen festlegen
  • Automatisieren des Schließens übergeordneter Arbeitselemente

In diesem Artikel erfahren Sie, wie Sie Regeln definieren, die beim Ändern eines Workflowstatus gelten.

  • Grundlegendes zu den Arten von Workflowregeln
  • Workflowzustands- und Regelgrenzwerte 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 Zustandsübergängen übergeordneter Arbeitselemente
  • Grundlegendes zu den Arten von Workflowregeln
  • Workflowzustands- und Regelgrenzwerte 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 Zustandsübergängen übergeordneter Arbeitselemente
  • Grundlegendes zu den Arten von Workflowregeln
  • Workflowzustands- und Regelgrenzwerte und bewährte Methoden
  • Festlegen eines Feldwerts oder Festlegen eines schreibgeschützten oder erforderlichen Felds basierend auf der Statusauswahl
  • Automatisieren von Zustandsübergängen übergeordneter Arbeitselemente

Wichtig

Dieser Artikel gilt für Azure DevOps Services und Azure DevOps Server 2019 und höher. Informationen zum Anpassen eines projekts, das für eine Sammlung für TFS 2018 oder früher definiert ist, finden Sie unter Lokales XML-Prozessmodell.

Wichtig

Sie können das Vererbungsprozessmodell nur für Projekte verwenden, die für eine Projektsammlung definiert sind, die für die Unterstützung des Vererbungsprozessmodells konfiguriert ist. Wenn Ihre lokale Sammlung für die Verwendung des lokalen XML-Prozessmodells konfiguriert ist, können Sie dieses Prozessmodell nur verwenden, um die Arbeitsnachverfolgung anzupassen. Weitere Informationen finden Sie unter Anpassen der Arbeitsnachverfolgung, Auswählen des Prozessmodells für Ihre Projektsammlung.

Informationen zum Anpassen eines projekts, das für eine Sammlung für TFS 2018 oder früher definiert ist, finden Sie unter Lokales XML-Prozessmodell.

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 ein Arbeitselement erstellt wird, sich in einem ausgewählten Zustand befindet 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 die Einschränkung von Zustandsübergängen. Mit diesen beiden Gruppen können Sie nur eine Bedingung angeben, die den Zustand eines Arbeitselements angibt. Anschließend können Sie eine oder mehrere Aktionen angeben, um den Übergang von diesem Zustand zu anderen Zuständen einzuschränken.

In der folgenden Tabelle sind die beiden Gruppen von Workflowregeln aufgeführt, die Sie definieren können. Die erste Gruppe wendet Standardaktionen an, wenn ein Arbeitselement erstellt wird, sich in einem ausgewählten Zustand befindet 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 die Einschränkung von Zustandsübergängen. In dieser zweiten Gruppe können Sie nur eine Bedingung angeben, die den Zustand angibt, in den ein Arbeitselement 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

Für bestimmte Features muss Azure DevOps Server Update 2020.1 installiert werden. Weitere Informationen finden Sie unter Azure DevOps Server 2020 Update 1 RC1 Release Notes, Boards.

Workflowbedingungen und -aktionen, die Sie festlegen können, werden in den folgenden Bildern veranschaulicht. Sie können Standardaktionen anwenden, wenn ein Arbeitselement erstellt wird, sich in einem ausgewählten Zustand befindet 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


Legen Sie den Feldwert fest, oder stellen Sie schreibgeschützt/erforderlich auf Der Grundlage des Zustands fest.

Bedingungen, Arbeitselement wird erstellt

Aktionen, Arbeitselement wird erstellt


Einschränken eines Übergangs basierend auf dem Zustand

Bedingung, Arbeitselement wird verschoben

Aktionen, schränken Sie eine Transaktion basierend auf State ein.


Feld ausblenden oder das Feld schreibgeschützt oder erforderlich machen, basierend auf der Status- und Benutzer- oder Gruppenmitgliedschaft

Bedingung, Benutzergruppenmitgliedschaft

Aktionen, schränken Sie eine Transaktion basierend auf Staat und Mitgliedschaft ein.


Legen Sie basierend auf der Benutzer- oder Gruppenmitgliedschaft ein Feldattribute fest, oder beschränken Sie einen Zustandsübergang.

Bedingung, Benutzergruppenmitgliedschaft

Aktionen, schränken Sie eine Transaktion basierend auf Staat und Mitgliedschaft ein.


Hinweis

Wenn Sie einen geerbten Prozess anpassen, werden alle Projekte, die diesen Prozess verwenden, automatisch aktualisiert, um die Anpassungen widerzuspiegeln. Aus diesem Grund wird empfohlen, einen Testprozess und ein Testprojekt zu erstellen, wenn Sie eine Reihe von Anpassungen vornehmen müssen, um die Anpassungen zu testen, bevor sie in Ihrem organization eingeführt werden. Weitere Informationen finden Sie unter Erstellen und Verwalten geerbter Prozesse.

Workflowzustands- 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 von 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 angewendet, wenn Arbeitselemente über eine der folgenden Schnittstellen hinzugefügt oder geändert werden:

  • Webportal: Arbeitselementformular, Massenupdates, Aktualisierungen in der Abfrageansicht
  • Webportal: Kanban-Board oder Taskboard, Arbeitselement in Spalte verschieben
  • Visual Studio 2017 und frühere Versionen, Arbeitselementformular
  • CSV-Dateiformat: Massenimport oder -aktualisierung
  • Excel: Massenimport oder -aktualisierung
  • REST-API: Hinzufügen oder Ändern von Arbeitselementen

Definieren einer Regel

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

Grundlegende Informationen 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 des Teamleiters 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 Standardworkflowstatus werden verwendet, und es werden nur ein einzelnes benutzerdefiniertes Feld ( Genehmigt von) und die Sicherheitsgruppe TeamLead Group hinzugefügt.

Standardworkflowstatus

Agiler Prozess, User Story, Standard-Workflowstatus

Regelanforderungen

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

  • Ausfüllen des Felds "Genehmigt von" erforderlich, wenn der Status von "Neu" in "Aktiv" wechselt
  • Benutzer, die nicht zur Teamleitergruppe gehören, auf das Ausfüllen des Felds "Genehmigt von " beschränken
  • Löschen Sie das Feld "Genehmigt von", wenn der Status in "Neu" oder "Entfernt" wechselt.

Regeldefinitionen

Die Regelanforderungen werden in die folgenden vier Regeldefinitionen übersetzt.

   


Regelname

Condition

Aktionen


Approved By cleared when New

Wenn A work item state changes to New

Dann Clear the value of Approved By

Approved By cleared when Removed

Wenn A work item state changes to Removed

Dann Clear the value of Approved By

Genehmigt von Schreibgeschützt

Wenn Current user is not member of group Team Leads Group

Dann Make read-only Approved By

Genehmigt von erforderlich

Wenn 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 die Einschränkung von Zustandsübergängen und genehmigten Status

Entsprechend der von einer Unternehmensgruppe verwendeten Terminologie werden die folgenden Workflowzustände für die User Story definiert. Die Zustände "Neu", "Aufgelöst" und " Entfernt " sind ausgeblendet. Stattdessen werden die Status "Vorgeschlagene", " In Überprüfung" 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 gezeigt.

User Story, Workflowstatus

Benutzer können ohne Einschränkungen von einem Zustand in einen anderen Zustand 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 Umgekehrtzustandsübergänge für den Arbeitselementtyp User Story unterstützen würden.

  • Vorschlag kann nur zu Forschung und Cut verschoben werden
  • Forschung kann nur zu Design und Cut wechseln
  • Design kann nur zu "Research", "Approved" und "Cut" wechseln.
  • Genehmigt kann nur zu "Entwurf", "Aktiv" und "Ausschneiden" wechseln.
  • "Aktiv" kann nur zu "In Review" verschoben werden.
  • In "Überprüfen" kann nur zu "Aktiv" (Zusätzliche Arbeit gefunden), "Geschlossen" oder "Ausschneiden" verschoben werden.
  • Closed kann zu Research, Design, Active, In Review verschoben werden (ermöglicht Fälle, in denen der Benutzer das Arbeitselement fehlerhaft geschlossen hat)
  • Die Kürzung kann nur zu "Vorgeschlagen" verschoben werden.

Hinweis

Berücksichtigen Sie beim Einschränken von Zustandsübergängen die Fälle, in denen ein Benutzer einen Zustand fehlerhaft verschiebt. Sie möchten, dass Benutzer eine ordnungsgemäße Wiederherstellung durchführen 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 in Aktiv wechselt.
  • Nur Benutzern, die zur Gruppe Autorisierte genehmigende Personen gehören, das Feld Genehmigt von ausfüllen
  • Löschen Sie das Feld "Genehmigt von", wenn der Zustand in "Ausschneiden" wechselt.
  • Erforderlich, dass die Akzeptanzkriterien ausgefüllt werden, wenn der Status in Aktiv wechselt

Regeldefinitionen

Um die oben genannten Einschränkungen zu implementieren, fügt der Prozessadministrator ein benutzerdefiniertes Identitätsfeld Genehmigt von , eine Sicherheitsgruppe Autorisierte genehmigende Personen und die folgenden elf Regeln hinzu.

   


Regelname

Condition

Aktionen


Vorgeschlagener Zustand

Wenn 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

Forschungsstand

Wenn 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

Wenn 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 Status

Wenn 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

Wenn 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"

Wenn 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

Wenn A work item state moved from Closed

Dann Restrict the state transition to Proposed
Und Restrict the state transition to Cut

Ausschneiden des Zustands

Wenn 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 genehmigten Zustand

Wenn A work item changes from Approved to Active

Dann Make required Acceptance Criteria
Und Make required Approved By

Autorisierte Genehmigende Personen

Wenn Current user is not a member of Authorized Approvers

Dann Make read-only Approved By

Feld "Genehmigt von" löschen

Wenn A work item state changes to Cut

Dann Clear the value of Approved By


Überprüfen von Statusübergangseinschränkungen

Nachdem die Regeln für den Prozess definiert und das Projekt mit dem Prozess aktualisiert wurden, aktualisieren Sie Ihren Browser, und überprüfen Sie die Vorgänge über das Arbeitselementformular und über den Kanban-Browser.

Für die in der vorherigen Tabelle definierten Regeln sollten die folgenden Status-Dropdownmenüs angezeigt werden. Öffnen Sie das Kanban-Board, und überprüfen Sie, ob sie von einem Zustand zu einem anderen wechseln können.

Proposed Forschung Entwurf Genehmigt
Vorgeschlagenes Menü Menü Designmenü Menü
Aktiv In Der Überprüfung Geschlossen Ausschneiden
Menü Im Menü Geschlossenes Menü Menü

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

Wenn Sie eine der beiden Bedingungen basierend auf der Benutzer- oder Gruppenmitgliedschaft oder Current user is not member of group ...angeben, Current user is 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 Zustandsübergängen übergeordneter Arbeitselemente

Um Zustandsübergänge übergeordneter Arbeitselemente basierend auf den Statuszuweisungen für die untergeordneten Arbeitselemente zu automatisieren, können Sie einen Webhook hinzufügen und den Code und die Konfiguration verwenden, die im GitHub-Projekt Automatisieren von Zustandsübergängen bereitgestellt werden.

Hinweis

Das GitHub-Projekt Automatisieren von Zustandsübergängen ist kein unterstütztes Feature von Azure Boards und wird daher nicht vom Produktteam unterstützt. Bei Fragen, Vorschlägen oder Problemen, die Sie bei der Verwendung dieser Erweiterungen haben, können Sie diese auf der GitHub-Projektseite anzeigen.

Automatisieren der Neuzuweisung basierend auf Statusä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 wiederhergestellt oder anderen Arbeitselementtypen eine ähnliche Regel hinzufügen, indem Sie die folgende Bedingung und Aktion verwenden:

WennA work item state changes toAufgelöstVon dannCopy the value from erstellt von, um zugewiesenzu.

Hinweis

Sie können änderungen, die an einem geerbten Prozess vorgenommen wurden, über das Überwachungsprotokoll überprüfen. Weitere Informationen finden Sie unter Zugreifen, Exportieren und Filtern von Überwachungsprotokollen.