Appliquer des règles aux états de workflow (processus d’héritage)
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Après avoir ajouté ou modifié vos états de flux de travail pour un type d’élément de travail, définissez des règles qui s’appliquent en fonction du changement d’état du flux de travail. L’ajout de règles aux états de flux de travail 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 requis ou en lecture seule ou une autre valeur en fonction des modifications d’état
- Restreindre la transition d’un état à un autre
- Restreindre ou autoriser les transitions d’état vers des utilisateurs ou des groupes spécifiques
- Gérer un processus de flux de travail contrôlé, prenant en charge les exigences d’audit
- Automatiser la fermeture des éléments de travail parent
- 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 requis ou en lecture seule ou une autre valeur en fonction des modifications d’état
- Restreindre la transition d’un état à un autre
- Automatiser la fermeture des éléments de travail parent
- Prendre en charge un processus d’approbation
- Définir un champ requis ou en lecture seule ou une autre valeur en fonction des modifications d’état
- Automatiser la fermeture des éléments de travail parent
Important
Le modèle de processus d’héritage est disponible pour les projets configurés pour le prendre en charge. 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 pouvez uniquement utiliser ce modèle de processus pour personnaliser l’expérience de suivi du travail. Pour plus d’informations, consultez Choisir le modèle de processus pour votre collection de projets.
Prérequis
Pour appliquer des règles aux états de flux de travail dans Azure DevOps, vous avez besoin d’autorisations et de niveaux d’accès spécifiques :
Autorisations :
- Être administrateur de projet pour gérer les groupes de sécurité et les autorisations au niveau du projet, ce qui inclut la définition de règles pour les états de flux de travail.
- Disposez de l’autorisation Suivi des éléments de travail, qui vous permet de gérer la zone de suivi du travail, qui peut être accordée aux membres du groupe Administrateurs de projet ou via des autorisations spécifiques.
Niveaux d’accès :
- Disposez d’un 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 flux de travail
Le tableau suivant présente les trois groupes de règles de flux de travail que vous pouvez définir :
Actions standard :
- Appliquez quand un élément de travail est créé, dans un état sélectionné ou déplacé 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.
Restriction des transitions d’état (groupe 1) :
- Spécifiez une condition indiquant l’état d’un élément de travail déplacé.
- Définissez des actions pour restreindre les transitions de cet état vers d’autres états.
Restriction des transitions d’état (groupe 2) :
- Comme pour le premier groupe, spécifiez une condition indiquant l’état d’un élément de travail 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 flux de travail que vous pouvez définir :
Actions standard :
- Appliquez quand un élément de travail est créé, dans un état sélectionné ou déplacé 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.
Restriction des transitions d’état :
- Spécifiez une condition indiquant l’état d’un élément de travail déplacé.
- Définissez une ou plusieurs actions pour restreindre les transitions de cet état vers d’autres états.
Remarque
Certaines fonctionnalités nécessitent l’installation de la mise à jour d’Azure DevOps Server 2020.1. Pour plus d’informations, consultez Notes de publication d’Azure DevOps Server 2020 Update 1 RC1, Tableaux.
Les conditions et actions de flux de travail que vous pouvez définir sont illustrées dans les images suivantes. Vous pouvez appliquer des actions standard lorsqu’un élément de travail est créé, dans un état sélectionné ou déplacé d’un état à un autre. Ces actions standard définissent la valeur d’un champ ou rendent un champ en lecture seule ou obligatoire. Pour cet ensemble de règles, vous pouvez spécifier une ou deux conditions et plusieurs actions.
Condition
Actions prises en charge
Définir la valeur du champ ou rendre en lecture seule/obligatoire en fonction de l’état
Restreindre une transition basée sur l’état
Masquer le champ ou rendre le champ en lecture seule ou obligatoire en fonction de l’état et de l’appartenance à l’utilisateur ou au groupe
En fonction de l’appartenance de l’utilisateur ou du groupe, définissez un attribut de champ ou limitez une transition d’état
Remarque
Lorsque vous personnalisez un processus hérité, tous les projets qui utilisent ce processus reflètent automatiquement les personnalisations. Pour garantir une transition fluide, nous vous recommandons de créer un processus de test et un projet, ce qui vous permet de tester vos personnalisations avant de les implémenter à l’échelle de l’organisation. Pour plus d’informations, consultez Créer et gérer des processus hérités.
Comprendre les limites de l’état et des règles du flux de travail
Les règles de flux de travail 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.
Object | 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 de flux de travail, suivez ces instructions pour réduire les problèmes de performances :
- Limitez le nombre de règles pour un 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 du 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 é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 de flux de travail, vérifiez que les éléments suivants sont en place :
- États du flux de travail : définissez les états de flux de travail comme décrit dans Personnaliser un flux de travail.
- Champs personnalisés : si votre règle nécessite un champ personnalisé, ajoutez-le au type d’élément de travail, comme décrit dans Ajouter et gérer des champs.
- Groupes de sécurité : si votre règle nécessite un groupe de sécurité pour accorder ou restreindre les modifications basées sur l’appartenance à l’utilisateur ou au groupe, définissez le groupe de sécurité comme décrit dans Ajouter ou supprimer des utilisateurs ou des groupes, gérer des groupes de sécurité.
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 rendre le champ en lecture seule ou obligatoire
Avec le premier regroupement de règles, vous pouvez spécifier une ou deux conditions et jusqu’à 10 actions par règle.
Exemple de vérification de l’approbation des prospects d’équipe avant le travail actif
Dans cet exemple, les équipes de développement souhaitent s’assurer qu’aucune histoire d’utilisateur n’est travaillée jusqu’à ce qu’elle soit approuvée par un responsable d’équipe. Les états de flux de travail par défaut sont utilisés, avec l’ajout d’un champ personnalisé, approuvé par et d’un groupe de sécurité, groupe de prospects d’équipe.
États de flux de travail par défaut
Conditions requises pour les règles
Pour garantir l’approbation avant le travail actif, définissez les règles suivantes :
- Exiger que le champ Approuvé par soit renseigné lorsque l’état passe de Nouveau à Actif
- Restreindre les utilisateurs qui ne sont pas dans le groupe prospects d’équipe à remplir le champ Approuvé par
- Effacer le 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é lorsque nouveau
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.
Remarque
Cette fonctionnalité nécessite la mise à jour d’Azure DevOps Server 2020.1 ou une version ultérieure.
Exemple de restriction des transitions d’état et de l’état Approuvé
Les états de flux de travail suivants sont définis pour l’article utilisateur. Les états hérités New, Resolved et Removed sont masqués. Au lieu de cela, les états proposés, en révision et couper 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.
Sans aucune restriction, les utilisateurs peuvent passer d’un état à un autre état, à la fois vers l’avant et vers l’arrière dans la séquence.
Conditions requises pour les règles
Pour prendre en charge un flux de travail plus contrôlé, le groupe d’entreprises a décidé d’instituter des règles qui prennent en charge les transitions d’état vers l’avant et inverse suivantes sur le type d’élément de travail User Story.
État | Règle de transition |
---|---|
Proposé | Peut uniquement passer à Research and Cut |
Recherche | Peut uniquement passer à Conception et Couper |
Concevoir | Peut uniquement passer à la recherche, approuvé et couper |
Approved | Peut uniquement passer à La conception, à l’actif et à la coupe |
Activé | Peut uniquement passer à La révision |
En cours de révision | Peut uniquement passer à Actif (Plus de travail trouvé), Fermé ou Coupé |
Fermée | Peut se déplacer vers Recherche, Conception, Active, In Review (Autorise les cas où l’utilisateur a fermé l’élément de travail en erreur) |
Couper | ne peut passer qu’à Proposé |
Remarque
Lorsque vous limitez les transitions d’état, comptez les cas où un utilisateur peut déplacer un état en erreur. Assurez-vous que les utilisateurs peuvent récupérer correctement.
En outre, le groupe d’entreprises souhaite appliquer les règles suivantes pour les champs obligatoires :
- Exiger que le champ Approuvé par soit renseigné lorsque l’état passe de Approuvé à Actif.
- Autoriser uniquement les utilisateurs du groupe Approbateurs autorisés à renseigner le champ Approuvé par .
- Désactivez le champ Approuvé par lorsque l’état passe à Couper.
- Exiger que le champ Critères d’acceptation soit renseigné lorsque l’état passe à Actif.
Définitions des règles
Pour implémenter les restrictions mentionnées précédemment, l’administrateur de processus ajoute un champ approuvé par identité personnalisé, 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
And Restrict the state transition to Approved
And Restrict the state transition to Active
And Restrict the state transition to In Review
And Restrict the state transition to Closed
État de recherche
Quand A work item state moved from Research
Alors Restrict the state transition to Proposed
And Restrict the state transition to Approved
And Restrict the state transition to Active
And Restrict the state transition to In Review
And Restrict the state transition to Closed
État de conception
Quand A work item state moved from Design
Alors Restrict the state transition to Proposed
And Restrict the state transition to Research
And Restrict the state transition to Active
And Restrict the state transition to In Review
And Restrict the state transition to Closed
État approuvé
Quand A work item state moved from Approved
Alors Restrict the state transition to Proposed
And Restrict the state transition to Research
And Restrict the state transition to Design
And Restrict the state transition to In Review
And Restrict the state transition to Closed
État actif
Quand A work item state moved from Active
Alors Restrict the state transition to Proposed
And Restrict the state transition to Research
And Restrict the state transition to Design
And Restrict the state transition to Approved
And Restrict the state transition to Closed
Dans l’état De révision
Quand A work item state moved from In Review
Alors Restrict the state transition to Proposed
And Restrict the state transition to Research
And Restrict the state transition to Design
And Restrict the state transition to Approved
État fermé
Quand A work item state moved from Closed
Alors Restrict the state transition to Proposed
And Restrict the state transition to Cut
État couper
Quand A work item state moved from Cut
Alors Restrict the state transition to Research
And Restrict the state transition to Design
And Restrict the state transition to Approved
And Restrict the state transition to Active
And Restrict the state transition to In Review
And 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
And Make required Approved By
Approbateurs autorisés
Quand Current user is not a member of Authorized Approvers
Alors Make read-only Approved By
Effacer approuvé par champ
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, consultez les menus déroulants État. Ouvrez la carte et assurez-vous que vous pouvez passer d’un état à un autre.
Proposé | Recherche | Conception | Approuvé(e) |
---|---|---|---|
Actif | En revue | Fermés | 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 ...
que vous ne pouvez spécifier qu’une seule condition. En outre, si vous spécifiez l’action Restrict the transition to state...
, vous ne pouvez spécifier qu’une seule action.
Remarque
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 pour les éléments de travail parents basés sur les affectations d’état de leurs éléments de travail enfants, consultez 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 de bogue du processus Agile avait précédemment 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 :
Lors A work item state changes to
de la résolution, créez ensuite Copy the value from
par l’affectation.