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.
Einschränken eines Übergangs basierend auf dem Zustand
Feld ausblenden oder das Feld schreibgeschützt oder erforderlich machen, basierend auf der Status- und Benutzer- oder Gruppenmitgliedschaft
Legen Sie basierend auf der Benutzer- oder Gruppenmitgliedschaft ein Feldattribute fest, oder beschränken Sie einen Zustandsübergang.
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:
- Der Workflow gibt an, dass Sie möchten, wie unter Anpassen eines Workflows beschrieben.
- Wenn Ihre Regel die Spezifikation eines benutzerdefinierten Felds erfordert, fügen Sie dieses Feld dem Arbeitselementtyp hinzu, wie unter Hinzufügen und Verwalten von Feldern beschrieben.
- Wenn Ihre Regel die Spezifikation einer Sicherheitsgruppe erfordert, um Änderungen basierend auf der Benutzer- oder Gruppenmitgliedschaft zu gewähren oder einzuschränken, definieren Sie diese Sicherheitsgruppe, wie unter Hinzufügen oder Entfernen von Benutzern oder Gruppen, Verwalten von Sicherheitsgruppen beschrieben.
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
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.
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 |
---|---|---|---|
Aktiv | In Der Überprüfung | Geschlossen | Ausschneiden |
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 to
AufgelöstVon dannCopy the value from
erstellt von, um zugewiesenzu.
Verwandte Artikel
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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für