Partager via


Appliquer des règles aux états de workflow (processus d’héritage)

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

Après avoir ajouté ou modifié vos états de workflow pour un type d’élément de travail, définissez des règles qui s’appliquent en fonction du changement d’état du workflow. L’ajout de règles aux états du workflow prend en charge les scénarios suivants :

  • Prendre en charge un processus d’approbation
  • Empêcher les utilisateurs non autorisés de définir un état non valide
  • Définir un champ comme étant requis ou en lecture seule, ou une autre valeur en fonction des modifications d’état
  • Restreindre les transitions d’un état à un autre
  • Restreindre ou autoriser les transitions d’état pour des utilisateurs ou groupes spécifiques
  • Gérer un processus de workflow contrôlé, prenant en charge les exigences d’audit
  • Automatiser la clôture des éléments de travail parents
  • Prendre en charge un processus d’approbation
  • Empêcher les utilisateurs non autorisés de définir un état non valide
  • Définir un champ comme étant requis ou en lecture seule, ou une autre valeur en fonction des modifications d’état
  • Restreindre les transitions d’un état à un autre
  • Automatiser la clôture des éléments de travail parents

Importante

Le modèle de processus d’héritage est disponible pour les projets configurés pour prendre en charge le type de modèle. Si vous utilisez une collection plus ancienne, vérifiez la compatibilité du modèle de processus. Si votre collection locale est configurée pour utiliser le modèle de processus XML local, vous ne pouvez utiliser ce modèle que pour personnaliser l’expérience de suivi du travail. Pour plus d’informations, consultez Personnalisation du processus au niveau de l’organisation.

Prerequisites

Catégorie Exigences
Permissions - Pour gérer les groupes de sécurité et les autorisations au niveau du projet, qui inclut la définition de règles pour les états de flux de travail : administrateur de projet.
Pour gérer la zone de suivi des travaux : Administrateur de projet ou spécifiquement affecté à la permission Suivi des éléments de travail.
Niveaux d’accès accès de base, généralement suffisant pour la plupart des utilisateurs qui doivent gérer les éléments de travail et appliquer des règles aux états de flux de travail.

Comprendre les règles de workflow

Le tableau suivant présente les trois groupes de règles de workflow que vous pouvez définir :

  1. Actions standard :

    • À appliquer quand un élément de travail est créé, dans un état sélectionné, ou passé d’un état à un autre.
    • Les actions incluent la définition de la valeur d’un champ, la création d’un champ en lecture seule ou la création d’un champ requis.
    • Vous pouvez spécifier une ou deux conditions et plusieurs actions.
  2. Restriction des transitions d’état (groupe 1) :

    • Spécifiez une condition indiquant l'état à partir duquel un élément de travail a été déplacé.
    • Définissez des actions pour restreindre les transitions de cet état vers d’autres états.
  3. Restriction des transitions d’état (groupe 2) :

    • Comme pour le premier groupe, spécifiez une condition indiquant l'état à partir duquel un élément de travail a été déplacé.
    • Définissez des actions pour restreindre les transitions de cet état vers d’autres états.

Le tableau suivant présente les deux groupes de règles de workflow que vous pouvez définir :

  1. Actions standard :

    • À appliquer quand un élément de travail est créé, dans un état sélectionné, ou passé d’un état à un autre.
    • Les actions incluent la définition de la valeur d’un champ, la création d’un champ en lecture seule ou la création d’un champ requis.
    • Vous pouvez spécifier une ou deux conditions et plusieurs actions.
  2. Restriction des transitions d’état :

    • Spécifiez une condition indiquant l'état à partir duquel un élément de travail a été déplacé.
    • Définissez une ou plusieurs actions pour restreindre les transitions de cet état vers d’autres états.

Condition

Actions prises en charge


Définir la valeur du champ ou lui attribuer un statut de lecture seule/obligatoire en fonction de l’état

Conditions, le document de travail est créé

Actions, l'élément de travail est créé


Restreindre une transition en fonction de l’état

Condition, l'élément de travail est déplacé

Actions, restreindre une transaction basée sur l'état.


Masquer le champ ou le proposer en lecture seule ou obligatoire en fonction de l’état et de l’appartenance de l’utilisateur ou du groupe

Condition, appartenance au groupe d’utilisateurs

Actions, restreindre une transaction en fonction de l'état et de l'appartenance.


En fonction de l’appartenance de l’utilisateur ou du groupe, définissez un attribut de champ ou limitez une transition d’état

Condition, appartenance au groupe d’utilisateurs

Actions, restreindre une transaction en fonction de l'état et de l'appartenance.


Note

Lorsque vous personnalisez un processus hérité, tous les projets qui utilisent le processus reflètent automatiquement les personnalisations. Pour garantir une transition fluide, nous vous recommandons de créer un processus de test et un projet pour tester vos personnalisations avant de les implémenter à l’échelle de l’organisation. Pour en savoir plus, consultez Créer et gérer des processus hérités.

Comprendre les limites de l’état et des règles du workflow

Les règles de workflow sont appliquées lorsque vous ajoutez ou modifiez des éléments de travail via l’une des interfaces suivantes :

  • Portail web : formulaire d’élément de travail, mises à jour en bloc, mises à jour en mode requête ​
  • Portail web : Tableau ou Tableau des tâches, déplacer l’élément de travail vers la colonne​
  • Visual Studio 2017 et versions antérieures, formulaire d’élément de travail
  • Format de fichier CSV : importation ou mise à jour en bloc
  • Excel : importation ou mise à jour en bloc
  • API REST : ajouter ou modifier des éléments de travail

Le tableau suivant récapitule les limites l’état du workflow et de la règle pour le processus d’héritage.

Objet Limite d’héritage
Les types d’élément de travail définis pour un processus 64
Les états du workflow définis pour un type d’élément de travail 32
Les règles définies pour un type d’élément de travail 1 024

Lorsque vous définissez des états et des règles pour le workflow, suivez ces instructions pour limiter les problèmes de performances :

  • Limitez le nombre de règles pour un même WIT : bien que vous puissiez créer plusieurs règles pour un type d’élément de travail (WIT), d’autres règles peuvent affecter négativement les performances lorsque les utilisateurs ajoutent ou modifient des éléments de travail. Le système valide toutes les règles associées aux champs pour le type d’élément de travail lorsque les utilisateurs enregistrent des éléments de travail. Dans certains cas, l’expression de validation de règle peut devenir trop complexe pour que SQL puisse l'évaluer.
  • Limitez le nombre de types d’éléments de travail personnalisés : réduire le nombre de types d’éléments de travail personnalisés peut aider à maintenir des performances optimales.

Définir une règle

Avant de définir une règle basée sur les états du workflow, vérifiez que les éléments suivants sont en place :

Pour plus d’informations sur la définition de règles, consultez Ajouter une règle personnalisée.

Définir la valeur du champ ou configurer le champ en lecture seule ou comme étant obligatoire

Avec le premier regroupement de règles, vous pouvez spécifier une ou deux conditions et jusqu’à 10 actions par règle.

Exemple d'approbation du chef d'équipe avant le travail actif

Dans cet exemple, les équipes de développement souhaitent s’assurer que le travail sur un récit utilisateur ne débute pas tant que cela n'a pas été approuvé par un responsable d’équipe. Les états de workflow par défaut sont utilisés, avec l’ajout d’un champ personnalisé Approuvé par et d’un groupe de sécurité Groupe des responsables d’équipe.

États de workflow par défaut

Processus Agile, Récit utilisateur, état de workflow par défaut

Conditions pour les règles

Pour garantir l’approbation avant le travail actif, définissez les règles suivantes :

  • Exigez que le champ Approuvé par soit renseigné lorsque l’état passe de Nouveau à Actif
  • Interdire aux utilisateurs qui ne font pas partie du groupe des chefs d'équipe de remplir le champ Approuvé par.
  • Effacez la valeur du champ Approuvé par lorsque l’état passe à Nouveau ou Supprimé

Définitions des règles

Les exigences de règle se traduisent par les quatre définitions de règle suivantes.


Nom de la règle

Condition

Actions


Approuvé par effacé en cas de nouvelle

Quand A work item state changes to New

Alors Clear the value of Approved By

Approuvé par Effacé lors de la suppression

Quand A work item state changes to Removed

Alors Clear the value of Approved By

Approuvé par Lecture seule

Quand Current user is not member of group Team Leads Group

Alors Make read-only Approved By

Approuvé par obligatoire

Quand A work item state changes from New to Active

Alors Make required Approved By


Restreindre les transitions d’état

Lorsque vous spécifiez la condition A work item state moved from ..., vous ne pouvez spécifier que cette condition. Vous pouvez spécifier jusqu’à 10 actions.

Exemple de restriction des transitions d’état et de l’état Approuvé

Les états de workflow suivants sont définis pour l'histoire d'utilisateur. Les états hérités Nouveau,Résolu et Retiré sont masqués. À la place, les états Proposé, En cours de révision et Coupé sont utilisés. En outre, trois états supplémentaires sont définis : Examiner, Concevoir et Approuver. Ces états doivent suivre la séquence, comme illustré dans l’image suivante.

Récit utilisateur, états de workflow

Sans aucune restriction, les utilisateurs peuvent passer d’un état à un autre, à la fois vers l’avant et vers l’arrière dans la séquence.

Conditions pour les règles

Pour prendre en charge un workflow plus contrôlé, le groupe d’entreprise a décidé d’instituer des règles qui prennent en charge les transitions d’état vers l’avant et vers l'arrière suivantes pour le type d’élément de travail Récit utilisateur.

State Règle de transition
Proposé Ne peut être déplacé que vers Recherche et Coupe
Recherche Peut uniquement passer vers Création et Coupé
Création Ne peut être déplacé que vers Recherche, Approuvé et Coupé
Approuvé Ne peut passer qu'à Création, Actif et Couper
Actif Ne peut passer qu'à l'état En cours de révision
En cours de révision Peut uniquement passer vers Actif (Plus de travail trouvé), Fermé ou Coupé
Fermé Peut passer vers Recherche, Création, Actif, En cours de révision (Autorise les cas où l’utilisateur a fermé l’élément de travail par erreur)
Couper ne peut être déplacé que vers Proposé

Note

Lorsque vous limitez les transitions d’état, tenez compte des cas où un utilisateur peut déplacer un état par erreur. Assurez-vous que les utilisateurs peuvent se corriger facilement.

En outre, le groupe d’entreprise souhaite appliquer les règles suivantes pour les champs obligatoires :

  • Exigez que le champ Approuvé par soit renseigné lorsque l’état passe de Approuvé à Actif.
  • Autorisez uniquement les utilisateurs du groupe d'Approbateurs autorisés à renseigner le champ Approuvé par.
  • Effacez le champ Approuvé par lorsque l'état passe à Couper.
  • Exigez que le champ Critères d’acceptation soit renseigné lorsque l’état passe sur Actif.

Définitions des règles

Pour mettre en œuvre les restrictions mentionnées précédemment, l'administrateur de processus ajoute un champ d'identité personnalisé Approuvé par, un groupe de sécurité Approbateurs autorisés et les règles suivantes.


Nom de la règle

Condition

Actions


État proposé

Quand A work item state moved from Proposed

Alors Restrict the state transition to Design
Et Restrict the state transition to Approved
Et Restrict the state transition to Active
Et Restrict the state transition to In Review
Et Restrict the state transition to Closed

État de recherche

Quand A work item state moved from Research

Alors Restrict the state transition to Proposed
Et Restrict the state transition to Approved
Et Restrict the state transition to Active
Et Restrict the state transition to In Review
Et Restrict the state transition to Closed

État de création

Quand A work item state moved from Design

Alors Restrict the state transition to Proposed
Et Restrict the state transition to Research
Et Restrict the state transition to Active
Et Restrict the state transition to In Review
Et Restrict the state transition to Closed

État approuvé

Quand A work item state moved from Approved

Alors Restrict the state transition to Proposed
Et Restrict the state transition to Research
Et Restrict the state transition to Design
Et Restrict the state transition to In Review
Et Restrict the state transition to Closed

État actif

Quand A work item state moved from Active

Alors Restrict the state transition to Proposed
Et Restrict the state transition to Research
Et Restrict the state transition to Design
Et Restrict the state transition to Approved
Et Restrict the state transition to Closed

État En cours de révision

Quand A work item state moved from In Review

Alors Restrict the state transition to Proposed
Et Restrict the state transition to Research
Et Restrict the state transition to Design
Et Restrict the state transition to Approved

État fermé

Quand A work item state moved from Closed

Alors Restrict the state transition to Proposed
Et Restrict the state transition to Cut

État coupé

Quand A work item state moved from Cut

Alors Restrict the state transition to Research
Et Restrict the state transition to Design
Et Restrict the state transition to Approved
Et Restrict the state transition to Active
Et Restrict the state transition to In Review
Et Restrict the state transition to Closed

Champs obligatoires de l'état Approuvé

Quand A work item changes from Approved to Active

Alors Make required Acceptance Criteria
Et Make required Approved By

Approbateurs autorisés

Quand Current user is not a member of Authorized Approvers

Alors Make read-only Approved By

Effacer le champ Approuvé par

Quand A work item state changes to Cut

Alors Clear the value of Approved By


Vérifier les restrictions de transition d’état

Une fois que vous avez défini les règles du processus et mis à jour le projet, actualisez votre navigateur. Vérifiez les opérations via le formulaire d’élément de travail et le navigateur.

Pour les règles définies dans le tableau précédent, cochez les menus déroulants État. Ouvrez le tableau et assurez-vous que vous pouvez passer d’un état à un autre.

Proposé Recherche Création Approuvé
Menu proposé Menu Recherche Menu Conception Menu Approuvé
Actif En cours de révision Fermé Couper
Menu Actif Menu En cours de révision Menu Fermé Menu Couper

Restreindre la transition d’état en fonction de l’appartenance de l’utilisateur ou du groupe

Lorsque vous spécifiez l’une des deux conditions en fonction de l’appartenance de l’utilisateur ou du groupe, Current user is member of group ... ou Current user is not member of group ..., vous ne pouvez spécifier qu’une seule condition. Par ailleurs, si vous spécifiez l’action Restrict the transition to state..., vous ne pouvez spécifier qu’une seule action.

Note

Les éléments de travail sont soumis aux règles qui leur sont appliquées. Les règles conditionnelles basées sur l’appartenance d’un utilisateur ou d’un groupe sont mises en cache pour votre navigateur web. Si vous vous trouvez limité à la mise à jour d’un élément de travail, vous avez peut-être rencontré l’une de ces règles. Si vous pensez que vous avez rencontré un problème qui n’est pas traité ici, consultez Problèmes de mise en cache IndexDB du formulaire d’élément de travail.

Automatiser les transitions d'état des éléments de travail parents

Pour automatiser les transitions d'état des éléments de travail parents qui sont basées sur les affectations d'état de leurs éléments de travail enfants, voir Automatiser les transitions d'état des éléments de travail.

Automatiser la réaffectation en fonction du changement d’état

Le type d'élément de travail bogue du processus Agile comportait auparavant une règle qui réaffectait le bogue à son créateur. Nous avons supprimé cette règle du processus système par défaut. Vous pouvez rétablir la règle ou ajouter une règle similaire à d’autres types d’éléments de travail à l’aide de la condition et de l’action suivantes :

QuandA work item state changes toRésolualorsCopy the value from Créé ParàAssigné À.