Ajouter ou modifier un champ pour suivre le travail

Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Votre projet contient au moins 100 champs de données, en fonction du processus utilisé pour créer votre projet, par exemple Agile, Basic, Scrum ou CMMI. Chaque élément de travail est associé à un type d’élément de travail (WIT) et les données que vous pouvez suivre correspondent aux champs attribués au WIT. Vous mettez à jour les données d’un élément de travail en modifiant le champ de données dans un élément de travail.

Notes

Pour Azure DevOps Services ou pour les collections de projets qui utilisent le modèle de processus hérité, consultez Ajouter un champ personnalisé à un type d’élément de travail.

Vous pouvez modifier un champ existant ou ajouter un champ personnalisé pour prendre en charge le suivi des exigences de données supplémentaires. Par exemple, vous pouvez personnaliser la liste de choix dans un menu déroulant ou ajouter une règle pour spécifier une valeur par défaut ou restreindre la valeur qu’elle peut prendre.

Toutes les listes de sélection ne sont pas définies de la même façon. Certaines listes sont définies via l’interface utilisateur, le flux de travail d’un WIT ou en ajoutant des comptes d’utilisateur à un projet, comme indiqué dans le tableau suivant.

Prérequis

  • Pour répertorier les champs, vous devez avoir votre autorisation Afficher les informations au niveau du projet pour le projet dans la collection définie sur Autoriser.
  • Pour ajouter ou personnaliser un champ, vous devez être membre du groupe Administrateurs de projet ou avoir votre autorisation Modifier les informations au niveau du projet définie sur Autoriser.
  • Pour supprimer ou renommer des champs ou modifier un attribut d’un champ, vous devez être membre du groupe de sécurité Administrateurs Team Foundation ou du groupe de sécurité Administrateurs de collection de projets.

Pour être ajouté en tant qu’administrateur, modifiez les autorisations au niveau de la collection de projets.

Méthodes par lesquelles les champs d’élément de travail sont ajoutés

Vous utilisez les champs d'élément de travail pour assurer le suivi des données d'un type d'élément de travail, définir les critères de filtre des requêtes et créer des rapports. Tout élément de données, à l’exception des champs système, que vous souhaitez suivre doit être défini en tant que champ d’élément de travail. Vous pouvez définir des champs d'éléments de travail dans la définition d'un type d'élément de travail ou d'un flux de travail global.

Les champs d’élément de travail sont conservés pour une collection de projets. Vous ajoutez des champs lorsque vous exécutez l'une des tâches suivantes :

  • Créez un projet. Tous les champs inclus dans les définitions de types d'éléments de travail ou du flux de travail global et qui sont définis pour le modèle de processus sélectionné sont créés. Les champs système principaux sont automatiquement définis pour chaque type d’élément de travail défini pour un projet. Pour obtenir la liste de ces champs, consultez Index des champs d’élément de travail.

  • Importez une définition WIT. Tous les nouveaux champs inclus dans la définition d'un type d'élément de travail sont ajoutés à la collection. Pour plus d’informations, consultez Informations de référence sur tous les éléments XML WITD.

  • Importez une définition de flux de travail globale. Tous les nouveaux champs définis dans le flux de travail global sont ajoutés à la collection. Vous définissez un flux de travail global lorsque vous voulez conserver un ensemble de champs d'élément de travail utilisés par plusieurs types d'éléments de travail. Pour plus d’informations, consultez Personnaliser le flux de travail global.

Tous les champs définis dans tous les WIT et tous les workflows globaux pour tous les projets constituent l’ensemble complet des champs définis dans la collection. Vous pouvez modifier l'attribut des champs, de même que renommer et supprimer des champs existants. Toutefois, vous encourez certains coûts lorsque vous apportez ce type de modifications, en particulier pour le serveur local et la création de rapports.

Pour ajouter ou personnaliser un champ pour une collection, modifiez le contenu XML de la définition WIT. Définissez chaque champ via un élément FIELD dans la section FIELDS de la définition WIT. Pour plus d’informations sur la structure et l’emplacement de ces fichiers, consultez Informations de référence sur tous les éléments XML FIELD.

Ajouter un champ, appliquer une règle ou modifier un attribut

Pour ajouter un champ personnalisé, ajouter des règles de champ ou modifier l’étiquette d’un champ dans un formulaire d’élément de travail, vous modifiez le type d’élément de travail (WIT) ou les types qui utilisent le champ. Suivez la séquence de personnalisation qui correspond à votre modèle de processus.

Pour modifier un attribut de champ ou renommer un champ, utilisez l’outil en ligne de commande witadmin . Sinon, pour modifier un champ, vous ajoutez ou modifiez les règles associées au champ dans une définition WIT.

Résumé des attributs de champ et des règles de champ

Pour modifier un fichier de définition WIT

Pour ajouter des règles ou un champ personnalisé, exportez, modifiez, puis importez le fichier de définition WIT.

Conseil

Avec witadmin, vous pouvez importer et exporter des fichiers de définition. D’autres outils que vous pouvez utiliser incluent l’éditeur de processus (nécessite que vous ayez installé une version de Visual Studio). Installez l’éditeur de modèle de processus à partir de Visual Studio Marketplace.

Conseil

Avec witadmin, vous pouvez importer et exporter des fichiers de définition. D’autres outils que vous pouvez utiliser incluent l’éditeur de processus (nécessite que vous ayez installé une version de Visual Studio). Installez l’éditeur de modèle de processus TFS à partir de Visual Studio Marketplace. Vous pouvez utiliser cette version de l’éditeur de processus pour modifier les formulaires d’élément de travail de l’ancien style. Elle ne permet en revanche pas de modifier les formulaires associés aux nouveaux formulaires web.

Vous pouvez également utiliser le gestionnaire de projet d’équipe TFS, un client open source disponible sur GitHub.

Tout champ que vous voulez utiliser pour suivre les données doit être ajouté au fichier de définition des types d'éléments de travail. Cela est vrai pour tous les champs système sauf (les champs dont le nom de référence commence par System.). Tous les champs système sont définis pour tous les types d'éléments de travail (WIT), que vous les ajoutiez ou non à la définition WIT. Pour en savoir plus sur chaque champ, consultez Index de champ d’élément de travail.

Ajouter une case à cocher ou un champ booléen

Utilisez la syntaxe suivante pour ajouter un champ booléen dans la section FIELDS de la définition WIT.

<FIELD name="Triage" refname="Fabrikam.Triage" type="Boolean" >
   <DEFAULT from="value" value="False" />
   <HELPTEXT>Triage work item</HELPTEXT>
</FIELD>

Ajoutez ensuite la syntaxe suivante dans la section FORM pour que le champ apparaisse dans le formulaire.

<Control Label="Triage" Type="FieldControl" FieldName="Fabrikam.Triage" />

Le champ s’affiche sous la forme d’une case à cocher dans le formulaire.

Personnaliser une liste de sélection

Les listes de choix sont les valeurs énumérées qui apparaissent dans un menu déroulant dans un formulaire d’élément de travail et la colonne Valeur dans l’éditeur de requête. La méthode utilisée pour personnaliser une liste de choix varie en fonction du champ.

Pour modifier la liste de choix de la plupart des champs de type string (chaîne) ou integer (entier) dans un formulaire d’élément de travail, modifiez la définition du type d’élément de travail (WIT). Par exemple, pour ajouter un champ personnalisé Résolution et une liste de choix, indiquez le code XML ci-dessous.

Champ personnalisé et liste de sélection
Liste de choix personnalisée

<FIELD name="Resolution" refname="MyCompany.Resolution" type="String">    
<ALLOWEDVALUES>
<LISTITEM value="By Design" />
<LISTITEM value="Duplicate" />
<LISTITEM value="External" />
<LISTITEM value="Fixed" />
<LISTITEM value="Not Repro" />
<LISTITEM value="Postponed" />
<LISTITEM value="Won't Fix" />
</ALLOWEDVALUES>
</FIELD>

Les règles prennent en charge la combinaison de listes, la restriction de la liste à une ou plusieurs personnes, ainsi que la définition de conditions liées à l’affichage de la liste dans le formulaire d’élément de travail. Les règles contrôlent si une liste de distribution est développée pour afficher ses membres individuels ou si une liste est filtrée à l’aide des attributs expanditems et filteritems facultatifs . Utilisez des listes globales pour réduire le travail nécessaire à la mise à jour d’une liste partagée entre des wits ou des projets.

Lorsque vous utilisez une liste dans plusieurs WIT ou dans plusieurs projets, sa conservation en tant que liste globale réduit vos besoins de maintenance. En outre, si vous avez besoin que des parties de listes s’affichent comme différentes dans les WIT ou les projets, vous pouvez définir une liste globale pour une partie d’une liste de sélection. Consultez Définir des listes de choix et Définir des listes globales.

Ajouter des règles à un champ

Pour ajouter un champ personnalisé ou ajouter des règles à un champ, modifiez la définition WIT. Vous pouvez limiter les règles pour qu'elles s'appliquent à des groupes ou à des utilisateurs spécifiques. La plupart des règles prennent en charge les attributs for ou not pour mettre l’accent sur la personne à laquelle la règle s’applique et ne s’applique pas.

Par exemple, avec l’extrait de code suivant, vous pouvez appliquer la règle pour que seuls les membres de l’équipe d’administration (un groupe TFS défini par le client) puissent modifier le champ Rang dans la pile une fois qu’un élément de travail a été créé.

<FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">  
   <FROZEN not="[project]\Management Team" />  
   <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage.</HELPTEXT>
</FIELD>  

Vous appliquez des règles pour accomplir les actions suivantes :

Pour accomplir cette action : Utilisez cet élément XML :
Spécifier une info-bulle. HELPTEXT
Qualifier la valeur possible d'un champ. CANNOTLOSEVALUE, EMPTY, FROZEN, NOTSAMEAS, READONLY et REQUIRED
Copier une valeur ou spécifier une valeur par défaut. COPY, DEFAULT et SERVERDEFAULT
Limiter les personnes autorisées à modifier un champ. VALIDUSER, pour les attributs de règle de champ et non
Appliquer les critères spéciaux sur un champ de type string (chaîne). MATCH
Appliquer de façon conditionnelle les règles basées sur les valeurs d'autres champs. WHEN, WHENNOT, WHENCHANGED et WHENNOTCHANGED

Les champs système, dont les noms commencent tous par le préfixe « Système » (par exemple, System.ID), sont limités en termes de règles que vous pouvez leur appliquer. Par exemple, vous ne pouvez pas copier ou définir sur les champs vides utilisés pour suivre qui a créé, modifié ou fermé un élément de travail ou les champs date-heure utilisés par le système.

Pour plus d’informations sur l’application de règles et de restrictions de champ, consultez Règles et évaluation des règles.

Pour ajouter un champ personnalisé

Pour ajouter un champ personnalisé, modifiez la définition WIT pour ajouter un élément FIELD dans la section FIELDS et un élément Control dans la section FORM .

  1. Exportez le fichier de définition WIT en fonction du modèle de processus que vous utilisez.

  2. Recherchez la section du fichier XML qui commence FIELDSpar .

  3. Ajoutez l’élément FIELD qui spécifie le nom du champ personnalisé à ajouter. Vous devez spécifier les attributs requis suivants : friendly name, refname (nom de référence) et type. Pour plus d’informations, consultez Informations de référence sur l’élément FIELD (Definition).

    Le code suivant spécifie le champ personnalisé, Demandeur, avec un nom de référence et une liste de FabrikamFiber.MyTeam.Requestor choix de valeurs autorisées, avec la valeur par défaut Customer.

    <FIELD name="Requestor" refname="FabrikamFiber.MyTeam.Requestor" type="String" reportable="Dimension">
       <ALLOWEDVALUES>
          <LISTITEM value="Customer" />
          <LISTITEM value="Executive Management" />
          <LISTITEM value="Other" />
          <LISTITEM value="Support" />
          <LISTITEM value="Team" />
          <LISTITEM value="Technicians" />
          <DEFAULTVALUE value="Customer" />
        </ALLOWEDVALUES>
    </FIELD>
    

    Conseil

    Les éléments de la liste apparaissent toujours dans l'ordre alphanumérique, indépendamment de la façon dont vous les entrez dans le fichier de définition XML. Le nom de référence, ou refname, est le nom programmatique du champ. Toutes les autres règles doivent faire référence à .refname Pour plus d’informations, consultez Restrictions de nommage et conventions d’affectation de noms.

  4. Ajoutez l’élément Control dans la FORM section afin que le champ personnalisé apparaisse sur le formulaire dans le groupe d’éléments où vous souhaitez qu’il apparaisse.

    Par exemple, l'extrait de code suivant ajoute le champ Requestor de façon à ce qu'il apparaisse sous le champ Reason du formulaire de l'élément de travail.

    <Column PercentWidth="50">
       <Group Label="Status">
          <Column PercentWidth="100">
             <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assi&amp;gned To:" LabelPosition="Left" />
             <Control FieldName="System.State" Type="FieldControl" Label="&amp;State:" LabelPosition="Left" />
             <Control FieldName="System.Reason" Type="FieldControl" Label="Reason:" LabelPosition="Left" ReadOnly="True" />
             <Control FieldName="FabrikamFiber.MyTeam.Requestor" Type="FieldControl" Label="Requestor:" LabelPosition="Left" ReadOnly="True" />
          </Column>
       </Group>
    </Column>
    

    Conseil

    La définition de schéma pour le suivi du travail définit tous les éléments enfants de l’élément FORM en tant que cas de chameau et tous les autres éléments comme tous en majuscules. Si vous rencontrez des erreurs lors de la validation de vos fichiers de définition de type, vérifiez la structure de casse de vos éléments. En outre, la structure de casse des étiquettes d’ouverture et de fermeture doit respecter les règles pour la syntaxe XML. Pour plus d’informations, consultez Informations de référence sur les éléments XML de contrôle.

  5. Importez le fichier de définition WIT en fonction du modèle de processus que vous utilisez.

  6. Ouvrez le portail web ou team Explorer pour afficher les modifications. Si le client est déjà ouvert, actualisez la page.

    L'illustration suivante montre que le formulaire d'élément de travail de l'élément du backlog de produit contient désormais le nouveau champ.

    Nouveau champ dans le formulaire

Pour modifier l’étiquette d’un champ dans un formulaire d’élément de travail

Pour modifier l’étiquette de champ, modifiez la valeur affectée à l’attribut d’élément ControlLabel . Pour supprimer un champ du formulaire d’élément de travail, supprimez l’élément Control associé au champ.

  1. Exportez le fichier de définition WIT en fonction de votre modèle de processus.

  2. Dans les FORM sections et Layout , recherchez la définition du champ que vous souhaitez modifier. Cet exemple modifie l’étiquette du champ Titre :

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title" LabelPosition="Left" />  
    </Column>
    
  3. Modifiez l’étiquette du champ afin que la succursale portugaise travaillant sur ce projet particulier puisse lire le nom du champ Titre lorsqu’elle travaille avec le formulaire d’élément de travail. Incluez le mot portugais qui correspond au titre (Titulo) dans le champ Title.

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title (Titulo):" LabelPosition="Left" />  
    </Column>
    
  4. Importez la définition WIT modifiée.

Ajouter un contrôle personnalisé

À l’aide des API REST pour le suivi des éléments de travail, vous pouvez créer, modifier et rechercher par programme des bogues, des tâches et d’autres WIT. Vous pouvez également créer vos propres contrôles personnalisés qui ajoutent des fonctionnalités à un formulaire d’élément de travail.

Vous pouvez également ajouter un contrôle personnalisé disponible via Visual Studio Marketplace. Par exemple :

Pour ajouter un contrôle personnalisé au nouveau formulaire web, consultez Éléments WebLayout et Control.

Modifier un attribut d'un champ existant

Vous utilisez witadmin changefield pour modifier les attributs d’un champ existant. Par exemple, la commande suivante change le nom convivial défini pour MyCompany.Type en Evaluation Method (Méthode d'évaluation).

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.Type /name:"Evaluation Method"

Le tableau suivant récapitule les attributs que vous pouvez modifier à l’aide de witadmin changefield.

Attribut Description
Type de données Spécifie le type de données que le champ accepte. En général, vous ne pouvez pas modifier le type de données de champ une fois qu’il est défini. Vous pouvez changer le type de données de champ uniquement pour les champs de type HTML ou PlainText.
Nom convivial Le nom convivial apparaît dans les menus déroulants des requêtes d’élément de travail et doit être unique dans tous les champs définis dans une collection de projets. Le nom convivial peut différer de l'étiquette de formulaire qui apparaît sur le formulaire de l'élément de travail.
Enregistrement des attributs Vous pouvez modifier le nom du champ tel qu'il apparaît dans un rapport, le nom de référence du rapport et le type de rapports. Vous pouvez localiser le nom convivial de création de rapports.

Le type de rapport détermine si les données du champ sont écrites dans la base de données relationnelle de l'entrepôt, dans la base de données relationnelle de l'entrepôt et le cube OLAP, ou pour générer une somme précalculée de valeurs lors du traitement du cube OLAP.

Pour obtenir la liste complète des champs reportables par défaut, consultez Référence des champs reportables . Pour plus d’informations sur les attributs pouvant être déclarés, consultez Champs et attributs d’élément de travail, Attributs reportables.
Synchronization Vous pouvez activer ou désactiver la synchronisation pour les champs nom-personne avec Active Directory.

Modifier l’attribut d’index d’un champ

Vous pouvez activer l'indexation d'un champ pour améliorer les temps de réponse aux requêtes lors du filtrage du champ. Par défaut, les champs suivants sont indexés : Assigné à, Date de création, Modifié par, État, Raison, ID de zone, ID d'itération et Type d'élément de travail.

Pour activer ou désactiver l’indexation d’un champ, utilisez la commande witadmin indexfield.

Supprimer un champ

Lorsque vous supprimez un champ d’un type spécifique d’élément de travail, ce champ n’est pas supprimé de la collection ou du serveur de base de données, même s’il n’est plus référencé par un WIT. Pour supprimer un champ, procédez comme suit.

  1. Supprimez la FIELD définition de toutes les définitions WIT et des workflows globaux qui la référencent.

  2. Vérifiez que le champ n'est pas en cours d'utilisation. Par exemple :

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
    Field: MyCompany.CustomContact
    Name: Custom Contact
    Type: String
    Reportable As: dimension
    Use: Not In Use
    Indexed: False
    
  3. Supprimez le champ. Par exemple :

    witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
  4. Si le champ supprimé peut être déclaré et que votre projet utilise SQL Server Reporting Services, régénérez l’entrepôt de données pour vider l’ancien champ et ses valeurs.

Pour plus d’informations, consultez Gérer les champs d’élément de travail.

Champs de test, de génération et de contrôle de version

Plusieurs types d’éléments de travail contiennent des champs qui fournissent des informations générées par des processus automatisés qui s’intègrent à Team Foundation Build, Microsoft Test Manager et le contrôle de version Team Foundation. Pour ajouter l’un de ces champs à vos WIT personnalisés, vous modifiez la définition WIT en fonction des étapes décrites précédemment dans cette rubrique.

Par exemple, vous pouvez ajouter les champs Trouvés dans et Intégrés dans Build qui apparaissent dans les définitions de type pour les bogues. Ces champs associent les bogues aux builds dans lesquelles ils ont été trouvés ou résolus. Vous pouvez utiliser l’extrait de code suivant pour ajouter ces champs à une définition de type d’élément de travail.

<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
    <HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
    <HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
</FIELD>

Pour plus d’informations, consultez Requête basée sur des champs d’intégration de build et de test.

Noms de champs et rapports

Vous pouvez ajouter des champs ou modifier les attributs des champs existants pour prendre en charge la création de rapports. Lorsque vous ajoutez ou modifiez des champs, vous devez systématiquement les nommer afin de pouvoir les rechercher dans le cube Analysis Services, car les champs sont regroupés de façon logique dans des dossiers. Pour plus d’informations, consultez Ajouter ou modifier des champs d’élément de travail pour prendre en charge la création de rapports.

Cet article explique comment ajouter et personnaliser des champs pour les modèles de processus XML hébergé et XML local. Pour plus d’informations sur l’ajout et la personnalisation de types d’éléments de travail pour les modèles de processus XML hébergé et LOCAL, consultez Ajouter ou modifier un type d’élément de travail. Pour le modèle de processus d’héritage, consultez Personnaliser un processus.

Autres rubriques ou ressources connexes :