Personnaliser un processus XML hébergé
Azure DevOps Services
Azure DevOps Services prend en charge l’ajout et la mise à jour de processus via une expérience administrative qui est un processus d’importation basé sur le web. Après avoir ajouté un processus, vous pouvez créer un ou plusieurs projets à partir de celui-ci. Vous pouvez mettre à jour le processus à tout moment en l’important à nouveau. Les modifications apportées au modèle de processus sont ensuite appliquées à tous les projets qui utilisent le processus.
Important
Avec le modèle de processus XML hébergé, vous personnalisez le suivi du travail en mettant à jour les fichiers de définition XML d’un modèle de processus. Cette fonctionnalité est disponible uniquement lorsque les données sont migrées vers Azure DevOps Services à l’aide du service d’importation de base de données Team Foundation Server.
Pour en savoir plus sur la personnalisation et les modèles de processus, consultez Personnaliser le suivi du travail.
Un processus est un fichier zip qui contient un ensemble de fichiers interdépendants. Ces fichiers définissent les blocs de construction du système de suivi des éléments de travail et d’autres sous-systèmes dans Azure DevOps Services. Certains blocs de construction mettent à jour les projets existants, tandis que d’autres s’appliquent uniquement aux nouveaux projets. Consultez le tableau suivant pour obtenir la liste complète des blocs de construction.
Utilisé lors de l’importation/mise à jour d’un processus
Utilisé lors de la création d’un projet
Remplacé par les valeurs système par défaut
Ignoré
Suivi des éléments de travail
Esprits
Catégories
Configuration des processus
Zones et itérations
Gestion des tests
Éléments de travail
Requêtes d’élément de travail
Build
Lab Management
Gestion des versions
Mappages Microsoft Project
Rapports
Portail (produits SharePoint)
Il existe des différences entre ce qu’Azure DevOps Services prend en charge et ce que Team Foundation Server prend en charge localement. Pour obtenir un résumé de ces différences, consultez les différences de personnalisations des modèles de processus.
Comment personnaliser un processus
Lorsque vous personnalisez un processus, commencer par un processus bien défini est plus facile que de créer un nouveau processus.
Si vous mettez à jour un processus existant que vous avez utilisé avec Team Foundation Server local, vérifiez qu’il est conforme aux contraintes placées sur les modèles pour l’importation.
Ouvrez Paramètres>Processus
Vous créez, gérez et personnalisez les processus à partir de Paramètres de l’organisation>Processus.
Choisissez le logo Azure DevOps pour ouvrir Projets. Choisissez ensuite Paramètres de l’organisation.
Ensuite, choisissez Processus.
Important
Si vous ne voyez pas Processus, vous travaillez à partir de TFS-2018 ou d’une version antérieure. La page Processus n’est pas prise en charge. Vous devez utiliser les fonctionnalités compatibles avec le modèle de processus XML local.
Exporter et importer un processus
Sous l’onglet Processus , sélectionnez les points de suspension (...) pour ouvrir le menu contextuel du processus XML hébergé que vous souhaitez exporter. Vous ne pouvez exporter que des processus XML hébergés.
Enregistrez le fichier zip et extrayez tous les fichiers de celui-ci.
Renommez le processus dans le fichier ProcessTemplate.xml situé dans le répertoire racine.
Nommez le processus pour le distinguer des processus existants.
<name>MyCompany Agile Process </name>
Modifiez le type de version et modifiez les nombres principaux et secondaires. Fournissez un GUID distinct pour le type comme dans cet exemple :
<version type="F50EFC58-C2FC-4C66-9814-E395D90778A3" major="1" minor="1"/>
Appliquez les personnalisations prises en charge.
Créez un fichier zip de tous les fichiers et dossiers dans le répertoire racine.
Importez le fichier zip de votre processus personnalisé.
Personnalisations prises en charge
Vous pouvez appliquer les personnalisations suivantes à votre processus :
- Ajoutez, supprimez ou modifiez un WIT.
- Ajoutez ou modifiez un champ.
- Ajoutez jusqu’à cinq backlogs de portefeuille.
- Ajoutez des catégories que vous utiliserez dans votre configuration de processus.
- Modifiez la configuration du processus.
- Ajoutez des listes globales.
La section suivante répertorie les limitations imposées par le système.
Restrictions
Vous pouvez importer jusqu’à 32 processus dans Azure DevOps Services. Vos processus personnalisés doivent être conformes à toutes les règles résumées suivantes. Sinon, des messages d’erreur de validation peuvent apparaître lors de l’importation.
- Personnaliser un processus XML hébergé
Modèle de processus
Votre fichier ProcessTemplate.xml doit être conforme à la syntaxe et aux règles décrites dans la référence d’élément XML ProcessTemplate. En outre, elle doit respecter les conditions suivantes :
- Limite le nombre de WIT définis à 64
- Contient un seul fichier de définition Categories.xml
- Contient un seul fichier de définition ProcessConfiguration.xml
- Utilise des noms conviviaux uniques dans tous les champs et définitions WIT
En outre, votre processus doit passer les vérifications de validation suivantes :
- Les noms de processus sont uniques et contiennent au maximum 155 caractères Unicode.
- Un modèle portant le même nom et le même GUID de version qu’un processus existant remplace ce processus.
- Un modèle portant le même nom, mais un GUID de version différent génère une erreur.
- Les noms de processus ne peuvent pas contenir les caractères spéciaux suivants :
. , ; ' ` : / \ * | ? " & % $ ! + = ( ) [ ] { } < >
.
Consultez les restrictions d’affectation de noms pour obtenir des contraintes supplémentaires.
- Les dossiers de traitement ne contiennent aucun fichier .exe. Même si vous pouvez importer un processus qui contient un fichier .exe, la création du projet échoue.
- La taille totale du processus est d’au plus 2 Go. Sinon, la création du projet échoue.
Il traite la configuration
Le fichier de définition ProcessConfiguration.xml doit être conforme à la syntaxe et aux règles décrites dans la référence d’élément XML ProcessConfiguration. En outre, elle doit respecter les conditions suivantes :
- Spécifie tous les éléments TypeFields
- Est limité à cinq backlogs de portefeuille
- Contient un seul backlog de portefeuille non pris en charge
- Spécifie un seul backlog de portefeuille parent pour chaque backlog de portefeuille subordonné
- Contient les mappages d’état à métastate de flux de travail requis et ne fait pas référence à des métastates non pris en charge
Catégories
Le fichier de définition Categories.xml doit être conforme à la syntaxe et aux règles décrites dans la référence d’élément Categories XML. En outre, elle doit respecter les conditions suivantes :
- Est limité à 32 catégories
- Définit toutes les catégories référencées dans le fichier ProcessConfiguration.xml
Types d’éléments de travail
Un élément WITD et ses éléments enfants doivent être conformes à la syntaxe et aux règles décrites dans la référence d’élément XML WITD. En outre, elle doit respecter les conditions suivantes :
- Il existe au maximum 512 champs au sein d’un seul WIT et 512 champs sur tous les WIT.
- Le nom convivial et l’attribut refname requis attribués à un WIT sont uniques dans l’ensemble de fichiers de définition WIT.
- La valeur d’attribut refname requise ne contient pas de caractères interdits ou n’utilise pas les espaces de noms non autorisés System.Nom et Microsoft.Nom.
- Les noms de référence contiennent au moins un point (.), et tous les autres caractères sont des lettres sans espaces.
- L’élément WITD contient un élément FORM qui définit un élément WebLayout conforme à la syntaxe spécifiée dans les éléments WebLayout et Control.
Champs d’éléments de travail
Un élément FIELDS et ses éléments enfants doivent être conformes à la syntaxe et aux règles décrites dans la référence d’élément FIELD XML. En outre, elle doit respecter les conditions suivantes :
- Le nom convivial et l’attribut refname requis attribués à un WIT sont uniques dans l’ensemble de fichiers de définition WIT.
- La valeur d’attribut refname requise ne contient pas de caractères interdits ou n’utilise pas les espaces de noms non autorisés System.Nom et Microsoft.Nom.
- Les noms de référence contiennent au moins un point (.), et tous les autres caractères sont des lettres sans espaces.
Un élément FIELD et ses éléments enfants peuvent contenir un élément GLOBALLIST .
Restrictions de limite
- Un élément FIELDS est limité à 512 champs.
- Un type d’élément de travail est limité à 64 champs de nom de personne. Un champ nom de personne est un champ avec l’attribut et la valeur
syncnamechanges=true
. - Un élément ALLOWEDVALUES ou SUGGESTEDVALUES est limité à 512 éléments LISTITEM .
- Un champ est limité à 1 024 règles.
Champs obligatoires
Les champs suivants sont spécifiés dans le fichier ProcessConfiguration.xml :
- Pour tous les WIT d’une catégorie qui définit un backlog de configuration de processus, spécifiez les champs utilisés pour les attributs et les valeurs
type=Team
ettype=Order
. - Pour tous les WIT d’une catégorie qui définit un backlog ou un backlog de portefeuille régulier, spécifiez le champ utilisé pour
type=Effort
. - Pour tous les WIT de la catégorie qui définit l’élément TaskBacklog , spécifiez :
- Champ utilisé pour
type=RemainingWork
. - Champ utilisé pour
type=Activity
. - Règle ALLOWEDVALUES pour le champ utilisé pour
type=Activity
.
- Champ utilisé pour
Restrictions de règle
Outre les restrictions de règle de champ standard, les restrictions suivantes sont appliquées :
- Les éléments de règle de champ ne peuvent pas spécifier les attributs pour et non les attributs.
- Les éléments FIELD ne peuvent pas contenir les éléments de règle enfant CANNOTLOSEVALUE, NOTSAMEAS, MATCH et PROHIBITEDVALUES.
- À l’exception des champs suivants, définitions FIELD pour System.Les champs de nom ne peuvent pas contenir de règles de champ.
- System.Title peut contenir les règles REQUIRED et DEFAULT.
- System.Description peut contenir les règles REQUIRED et DEFAULT.
- System.AssignedTo peut contenir les règles REQUIRED, DEFAULT, ALLOWEXISTINGVALUE et VALIDUSER.
- System.ChangedBy peut contenir les règles REQUIRED, DEFAULT, ALLOWEXISTINGVALUE et VALIDUSER.
Noms et attributs cohérents
Dans un processus ou une collection de projets, un nom, un type et d’autres attributs définis par un élément FIELD doivent être identiques dans toutes les définitions WIT.
Champs d’identité
Les champs d’identité correspondent aux champs utilisés pour contenir des noms de compte, d’utilisateur ou de groupe. Les champs système de base suivants sont codés en dur en tant que champs d’identité :
- Affecté à (System.AssignedTo)
- Autorisé en tant que (System.AuthorizedAs)
- Modifié par (System.ChangedBy)
- Créé par (System.CreatedBy)
- Activé par (Microsoft.VSTS.Common.ActivatedBy)
- Fermé par (Microsoft.VSTS.Common.ClosedBy)
- Résolu par (Microsoft.VSTS.Common.ResolvedBy)
Ajouter un champ d’identité personnalisé
Un champ de chaîne est reconnu comme champ d’identité lorsque vous spécifiez l’attribut syncnamechanges comme True.
Restrictions de règle sur les champs d’identité
Pour la version actuelle de l’importation de processus, ne spécifiez aucune des règles suivantes dans une définition FIELD .
- SUGGESTIONSVALUES
- Règles qui contiennent des valeurs non-identités.
Exemple correct
Pour limiter les noms de compte valides dans un champ d’identité, spécifiez l’élément VALIDUSER
avec un attribut de nom de groupe.
<FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
<ALLOWEXISTINGVALUE />
<VALIDUSER group="[PROJECT]\Program Manager Group" />
<HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
</FIELD>
Avant d’importer le processus, vérifiez que vous avez créé le groupe dans les projets mis à jour par le processus.
Exemple incorrect
L’exemple suivant n’est pas valide, car il spécifie :
- Élément
ALLOWEDVALUES
. - Élément
DEFAULT
qui spécifie la chaînevalue="Not Assigned"
non-identity .
<FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
<ALLOWEXISTINGVALUE />
<ALLOWEDVALUES>
<LISTITEM value="[PROJECT]\Program Manager Group" />
<LISTITEM value="Not Assigned" />
</ALLOWEDVALUES>
<DEFAULT from="value" value="Not Assigned" />
<VALIDUSER />
<HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
</FIELD>
Workflow
Un élément WORKFLOW et ses éléments enfants doivent être conformes à la syntaxe et aux règles décrites dans la référence d’élément XML WORKFLOW. En outre, elle doit respecter les conditions suivantes :
- Limite chaque WIT à 16 états de flux de travail
- Définit tous les états de flux de travail mappés aux métastates dans le fichier de définition ProcessConfiguration
- Définit une transition entre tous les états de flux de travail mappés à la catégorie d’état « Proposé » et les états de flux de travail mappés à la catégorie d’état « InProgress »
- Définit une transition entre tous les états de flux de travail mappés à la catégorie d’état « InProgress » et les états de flux de travail mappés à la catégorie d’état « Complete ».
Pour obtenir une description des catégories et mappages d’état, consultez les états de flux de travail et les catégories d’état.
Listes globales
Pour le modèle de processus XML hébergé, les limites suivantes sont placées sur l’importation de liste globale :
- Il existe au maximum 64 listes globales.
- Il y a au maximum 1 024 éléments par liste.
- Environ 10 000 éléments peuvent être définis au total parmi toutes les listes globales qui sont spécifiées sur tous les WIT.
Présentation des formulaires
Un élément FORM et ses éléments enfants doivent être conformes à la syntaxe et aux règles décrites dans la référence d’élément FORM XML.
Un élément Control ne peut pas spécifier de contrôle personnalisé. Les contrôles personnalisés ne sont pas pris en charge.