Ajouter une valeur personnalisée au champ Activité dans TFS / Azure DevOps
Microsoft TFS (aujourd'hui Azure DevOps Server et Azure DevOps Services) est une solution de suivi du travail, de partage de code et de livraison de logiciels qui offre un large éventail d'outils conçus pour faciliter et rendre plus efficace le développement collaboratif de logiciels. Les champs d’élément de travail effectuent le suivi des informations dans Azure DevOps. Chaque élément de travail est lié à un type d’élément de travail (WIT), et les données que vous pouvez suivre correspondent aux champs affectés à ce WIT.
Concepts clés : champs, types et portée
Les champs d’élément de travail suivent les données d’un type d’élément de travail, définissent des critères de filtre de requête et génèrent des rapports. Tout élément de données que vous souhaitez suivre, à l’exception des champs système, doit être défini comme champ d’élément de travail. Le système définit ces champs au niveau de la collection et les partage sur tous les projets de cette collection. Les champs d’élément de travail effectuent le suivi des informations dans Azure DevOps.
Chaque type d’élément de travail spécifie les champs inclus dans les éléments de travail de ce type. Chaque type d’élément de travail inclut 31 champs système et plusieurs champs spécifiques au type. Les champs système principaux sont automatiquement inclus pour chaque type d’élément de travail. Les champs système, identifiés par le préfixe « System », par exemple, System.ID, autorisent la personnalisation limitée des règles.
Nom convivial, refname et type
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 de référence, ou refname, est le nom programmatique du champ. Toutes les autres règles doivent faire référence au refname. Spécifiez les attributs requis suivants lors de l’ajout d’un champ : convivial name, refname (nom de référence) et type. Le type de données du champ détermine le type et la taille des données que vous pouvez stocker dans le champ, par exemple Booléen, DateHeure, Entier ou Chaîne. En général, vous ne pouvez pas modifier le type de données de champ une fois qu’il est défini.
Quand et pourquoi ajouter un champ personnalisé Activité
Dans ce guide de démarrage rapide, vous ajoutez un champ personnalisé pour prendre en charge les exigences de suivi des données qui ne sont pas remplies avec l’ensemble de champs existant. Par exemple, vous pouvez ajouter un champ personnalisé pour suivre un numéro de ticket client. Pour obtenir la liste de tous les champs définis pour votre organisation, y compris tous les champs définis pour les processus système et hérités, consultez Liste des champs et attributs des éléments de travail.
Lire aussi: Modifier Activité Kbis Auto-Entrepreneur
Modèles de processus et options de personnalisation
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 votre collection locale est configurée pour utiliser le modèle de processus XML local, vous pouvez uniquement utiliser ce modèle pour personnaliser l’expérience de suivi du travail. 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.
Si vous utilisez une collection plus ancienne, vérifiez la compatibilité du modèle de processus. Pour créer, supprimer ou modifier un processus : être membre du groupe Administrateurs de collections de projets ou disposer d’autorisations spécifiques au niveau de la collection (Créer un processus, Supprimer un processus, Modifier un processus, ou Supprimer un champ de l’organisation configuré sur Autoriser). Même si vous disposez d’un accès de base ou inférieur, vous pouvez modifier un processus si quelqu’un vous donne l’autorisation.
Méthodes pour ajouter ou personnaliser un champ
Pour ajouter ou personnaliser un champ, modifiez le contenu XML de la définition WIT. Définissez chaque champ à l’aide d’un élément FIELD dans la section FIELDS. Pour ajouter un champ personnalisé, ajouter des règles de champ ou modifier l’étiquette d’un champ sur un formulaire d’élément de travail, modifier le WIT ou les types qui utilisent le champ. Pour modifier un attribut de champ ou renommer un champ, utilisez l’outil de ligne de commande witadmin. Utilisez witadmin changefield pour modifier les attributs d’un champ existant.
Pour suivre les données, vous ajoutez le champ au fichier de définition WIT, à l’exception des champs système, qui sont des champs dont le nom de référence commence par System. Les champs système sont automatiquement définis pour tous les WIT, même s’ils ne sont pas inclus dans la définition WIT. Importation d’une définition WIT : les nouveaux champs définis dans la définition WIT sont ajoutés à la collection. Importation d’une définition globale de flux de travail : les nouveaux champs définis dans le flux de travail global sont ajoutés à la collection. Les flux de travail globaux autorisent les champs partagés entre plusieurs types d’éléments de travail.
Édition via interface héritée (Processus hérité)
Suivez ces étapes pour ajouter un champ à un type d’élément de travail existant. Cet exemple utilise le Bug WIT. Nommez le champ et sélectionnez le type de champ dans l’un des types de données pris en charge. Les noms de champs doivent être uniques et ne doivent pas dépasser 128 caractères. (Facultatif) Sous l’onglet Options, indiquez si le champ est requis. (Facultatif) Sous l’onglet Disposition, vous pouvez entrer un libellé de formulaire différent du nom du champ.
Lire aussi: INPI et Micro-Entreprise : Démarches
Choisissez Ajouter un champ pour finaliser l’ajout du champ. Après avoir ajouté un champ, vous pouvez le faire glisser-déplacer dans une page pour le déplacer sur le formulaire. Après avoir ajouté un champ, vous pouvez le faire glisser-déplacer dans une page pour ajuster son positionnement sur le formulaire. Les champs ne peuvent être ajoutés qu’à l’intérieur d’une page d’un formulaire.
Édition via XML (Processus XML local)
Dans la définition de schéma pour le suivi du travail, tous les éléments enfants de l’élément FORM doivent utiliser la casse mixte, tandis que tous les autres éléments doivent être en majuscules. Vérifiez que la structure de cas des balises d’ouverture et de fermeture correspond aux règles de syntaxe XML pour éviter les erreurs de validation. Les éléments de la liste apparaissent toujours dans l’ordre alphanumérique, quelle que soit la façon dont vous les entrez dans le fichier de définition XML.
Ouvrez le portail web ou Team Explorer pour afficher les modifications. Pour modifier l’étiquette de champ, modifiez la valeur affectée à l’attribut d’élément ControlLabel. Dans les sections FORM et Layout, recherchez la définition du champ que vous souhaitez modifier.
Listes de sélection et listes globales
Les listes de sélection sont des valeurs énumérées affichées dans les menus déroulants des formulaires d’élément de travail et dans la colonne Valeur de l’éditeur de requête. Pour personnaliser une liste de sélection pour la plupart des champs de chaîne ou d’entier, modifiez la définition WIT. Les règles vous permettent de combiner des listes, de restreindre les personnes pouvant accéder à une liste et de définir des conditions quand une liste apparaît sur le formulaire d’élément de travail.
Pour simplifier la maintenance, utilisez des listes globales pour les listes partagées entre les réseaux WIT ou les projets. Les listes globales réduisent les efforts nécessaires pour mettre à jour les listes partagées. Si des parties d’une liste doivent différer entre les WIT ou les projets, vous pouvez définir une liste globale pour des parties spécifiques d’une liste de sélection.
Lire aussi: Comment Calculer la TVA ?
Chaque organisation ou collection peut définir jusqu’à 2 048 listes de sélection. Chaque liste de sélection peut contenir jusqu’à 2 048 éléments. Les éléments de liste de sélection ne doivent pas comporter plus de 256 caractères.
Règles, contrôle d’accès et attributs
Les champs système autorisent la personnalisation limitée des règles. Les règles vous permettent de combiner des listes, de restreindre les personnes pouvant accéder à une liste et de définir des conditions quand une liste apparaît sur le formulaire d’élément de travail. De nombreux attributs non modifiables et masqués existent pour chaque champ d’élément de travail.
Les attributs attribués à un champ dépendent de la plateforme et de la version que vous utilisez. Par exemple, certains ne sont pas pris en charge avec le processus d’héritage. Pour recenser les attributs affectés à un champ, utilisez l’API REST Champs - Obtenir. Le système affecte les attributs isPicklist et isPicklistSuggested uniquement aux champs personnalisés définis pour un processus hérité.
Attributs courants
- Indique si le système copie la valeur définie pour le champ lorsqu’un utilisateur choisit de copier un élément de travail.
- Indique si le système calcule la valeur définie par le champ (True) ou non (False).
- Indique si les utilisateurs peuvent modifier ce champ (True) ou non (False).
- Indique si ce champ constitue un champ d’identité.
- Indique si le champ est associé à une liste de sélections.
- Indique si le champ apparaît dans les champs que vous pouvez ajouter pour filtrer une requête d’élément de travail (True) ou non (False).
- Type de rapport : Détail, Dimension ou Mesure, selon que vous souhaitez ou non inclure le champ dans les rapports.
- Spécifie un autre nom de référence à un champ que le système utilise lorsqu’il exporte des données vers l’entrepôt de données relationnelles.
Reporting et indexation
Le type de rapport détermine si les données du champ sont écrites dans la base de données de l’entrepôt relationnel, dans la base de données de l’entrepôt relationnel et dans 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 la référence des champs reportables.
Dans le cas de déploiements locaux, il est possible d’activer l’indexation d’un champ pour améliorer le temps de réponse des requêtes lors du filtrage sur ce champ.
Gérer la visibilité, l’historique et la suppression
Vous pouvez choisir d’afficher ou de masquer n’importe quel champ ou contrôle personnalisé sur un formulaire. Les données définies pour un champ hérité, même si vous le masquez, sont conservées dans le magasin de données et l’historique des éléments de travail. Lorsque vous supprimez un champ personnalisé de la disposition, il est conservé dans le magasin de données, mais supprimé de l’historique. Si vous ajoutez le champ au formulaire, l’historique est restauré.
La suppression d’un champ supprime toutes les données associées, y compris les valeurs historiques. Il peut y avoir un court délai avant que les travaux de vidage des données ne commencent. Pendant ce temps, vous pouvez tenter de restaurer le champ et de récupérer ses données à l’aide de l’API REST Champs - Mettre à jour. La récupération peut être complète, partielle ou infructueuse, en fonction des données restantes. Cette action NE PEUT PAS être annulée. Supprimez uniquement les champs qui ne sont pas utilisés. Utilisez la commande witadmin listfields pour identifier les champs inutilisés.
Exemples pratiques et scénarios demandés
Add a 'Business Value' integer field and a 'Customer Impact' picklist field with values High, Medium, and Low to my User Story work item type. I need a 'Category' picklist field and a 'Subcategory' picklist on my Bug work item type where the subcategory values depend on the selected category. I have 5 custom fields on my Bug work item type that we no longer use. Add an 'Approved By' identity field and a 'Release Notes' rich-text HTML field to my Feature work item type.
Pour ajouter ces champs dans un processus d’héritage, nommez le champ et sélectionnez le type de champ dans l’un des types de données pris en charge. Sélectionnez champ, puis spécifiez le type de liste de sélection (entier ou chaîne), puis ajoutez les éléments à afficher dans la liste de sélection. Utilisez un champ basé sur l’identité pour ajouter un champ similaire au champ Affectation. Les champs basés sur l’identité agissent de la même façon que le champ Affectation, en fournissant une fonction de sélecteur d’identité et de recherche. Choisissez Texte (plusieurs lignes) comme type pour un champ riche, ou HTML pour un champ Release Notes riche en texte.
Si vous devez implémenter une dépendance entre Category et Subcategory, utilisez des règles sur la définition WIT ou implémentez un contrôle personnalisé via une extension pour afficher les sous-catégories en fonction de la catégorie choisie. Pour ajouter un champ personnalisé ou appliquer des règles à un champ, modifiez la définition WIT.
Extensions et contrôles personnalisés
Cet article explique comment ajouter des fonctionnalités enrichies à vos formulaires d’élément de travail à l’aide d’extensions. Une extension se décline en quatre variantes, ou types de contribution. Vous ajoutez toutes les contributions en installant son extension à partir de l’onglet Visual Studio Marketplace, Azure DevOps.
Dans le contexte Paramètres, sous l’onglet Extensions, vous pouvez afficher les extensions déjà installées. Sélectionnez l’extension que vous souhaitez ajouter. Revenez au processus et à WIT, puis vérifiez si l'emplacement de l'extension correspond à celui souhaité. Ouvrez Paramètres>Travail>Processus à partir d’un formulaire d’élément de travail. (Facultatif) Ajoutez un champ à associer au contrôle personnalisé. Si vous ne voyez pas l’option Ajouter un contrôle personnalisé, cela signifie que vous n’avez pas installé d’extension au niveau du champ. Sélectionnez l’onglet Options et renseignez la boîte de dialogue. Renseignez tous les autres champs obligatoires. Vérifiez le fonctionnement du contrôle personnalisé en ouvrant un élément de travail du type que vous avez modifié.
Azure DevOps - Paramètres du tableau Kanban (colonnes, champs de cartes, couleurs) pour le suivi ...
Outils et API disponibles
À l’aide des API REST pour le suivi des éléments de travail, vous pouvez créer, mettre à jour et rechercher des bogues, des tâches et d’autres types d’éléments de travail (WIT). Pour recenser les attributs affectés à un champ, utilisez l’API REST Champs - Obtenir. Pour recenser les attributs affectés à un champ, utilisez l’API REST Champs - Obtenir. Entrez le nom de votre organisation à la place de OrganizationName.
Pour accéder à l’Explorateur de champs des éléments de travail, installez l’outil Éditeur de processus. Visual Studio 2019 & 2022 : À partir de maintenant, il n'existe aucune extension d'éditeur de modèle de processus spécifique disponible. Cependant, vous pouvez toujours personnaliser les modèles de processus à l’aide d’autres outils, tels qu’un éditeur de texte ou un éditeur XML. Visual Studio 2017 : éditeur de modèle de processus TFS. Vous pouvez également utiliser cette version de l’éditeur de processus pour modifier les formulaires d’éléments de travail de l’ancien style.
Bonnes pratiques
- Pour obtenir les meilleurs résultats, utilisez ces invites en mode agent avec le serveur MCP Azure DevOps connecté.
- Pour garantir une transition fluide, créez un processus de test et un projet pour tester vos personnalisations avant de les implémenter à l’échelle de l’organisation.
- Les listes globales réduisent les efforts nécessaires pour mettre à jour les listes partagées ; utilisez-les pour les listes partagées entre WIT ou projets.
- Supprimez uniquement les champs qui ne sont pas utilisés et identifiez-les à l’aide de witadmin listfields.
- Lorsque vous modifiez une étiquette pour la localisation (par exemple pour un bureau portugais), modifiez la valeur affectée à l’attribut ControlLabel dans la définition du formulaire.
Ressources et références rapides
- Index des champs Élément de travail - Pour obtenir la description, l’utilisation et les noms de référence de chaque champ.
- API REST Champs - Obtenir - Pour recenser les attributs affectés à un champ.
- witadmin changefield et witadmin listfields - Outils en ligne de commande pour modifier et auditer les champs.
- Visual Studio Marketplace - Pour installer des extensions et contributions.
balises:
