Gérer des champs d'éléments de travail (witadmin)
Vous pouvez gérer les champs de types d'éléments de travail définis pour une collection de projets d'équipe à l'aide des commandes witadmin suivantes :
changefield : modifie un ou plusieurs attributs d'un champ. Quand vous modifiez l'un des attributs suivants, la modification est appliquée à tous les types d'éléments de travail et projets d'équipe au sein de la collection de projets d'équipe :
Type de données : pour les champs PlainText ou HTML.
Important
Lorsque vous mettez à niveau une version antérieure de Team Foundation Server vers la version actuelle, le type PlainText assigné au champ Description (System.Description) est automatiquement converti en HTML.Avec la commande changefield, vous pouvez restaurer le contenu de ce champ pour afficher du texte brut.
Nom convivial : apparaît dans la requête d'élément de travail. Ce nom peut être différent de celui affiché sur le formulaire d'élément de travail.
Attributs de création de rapports : comprennent le nom du champ tel qu'il apparaît dans un rapport, le nom du rapport de référence et le type de rapport.
Synchronisation avec Active Directory : vous pouvez activer/désactiver la synchronisation des champs de noms de personnes.
deletefield : supprime le champ spécifié.
indexfield : active ou désactive l'indexation pour le champ spécifié. Lorsque vous activez l'indexation pour un champ, vous pouvez augmenter les performances de recherche des éléments de travail dont les requêtes spécifient le champ concerné. Si vous ajoutez un champ personnalisé que vous utilisez dans un bon nombre de vos requêtes d'élément de travail, vous pouvez activer l'indexation pour ce champ.
listfields : répertorie les attributs pour tous les champs ou un champ spécifié.
Pour exécuter l'outil de ligne de commande witadmin, ouvrez une fenêtre d'invite de commandes à l'endroit où Visual Studio ou Team Explorer est installé et entrez :
cd %programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE
Sur une édition 32 bits de Windows, remplacez %programfiles(x86)% par %programfiles%.
Pour obtenir une vue d'ensemble des champs définis dans les modèles de processus par défaut fournis avec Team Foundation Server, consultez Référence des champs d'éléments de travail pour Visual Studio ALM.
Notes
Vous pouvez créer et modifier des champs d'éléments de travail à l'aide de Process Editor, un outil Power Tool pour Visual Studio.Cet outil n'est pas pris en charge.Pour plus d'informations, consultez la page suivante sur le site web Microsoft : Team Foundation Server Power Tools.
Spécifications
Pour répertorier les champs, votre autorisation Afficher les informations au niveau du projet pour le projet d'équipe dans la collection doit être 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é Team Foundation Administrators ou Project Collection Administrators.
Pour plus d'informations, consultez Référence des autorisations pour Team Foundation Server.
Notes
Même si vous vous connectez avec des autorisations d'administrateur, vous devez ouvrir une fenêtre d'invite de commandes avec élévation de privilèges pour exécuter cette fonction sur un serveur exécutant Windows Server 2008.Pour ouvrir une fenêtre d'invite de commandes avec élévation de privilèges, sélectionnez Démarrer, ouvrez le menu contextuel Invite de commandes, puis sélectionnez Exécuter en tant qu'administrateur.Pour plus d'informations, voir le site web de Microsoft : Contrôle de compte d'utilisateur.
witadmin changefield /collection:CollectionURL /n:RefName [/name:NewName] [/syncnamechanges:true | false] [/reportingname:ReportingName] [/reportingrefname:ReportingRefName] [/reportingtype:Type] [/reportingformula:Formula] [/type:PlainText | HTML] [/noprompt]
witadmin deletefield /collection:CollectionURL /n:RefName [/noprompt]
witadmin indexfield /collection:CollectionURL /n:Name /index:on|off
witadmin listfields /collection:CollectionURL /n:RefName [/unused]
Paramètres
Paramètre |
Description |
---|---|
/collection:CollectionURL |
Spécifie l'URI de la collection de projets d'équipe. Le format de l'URI est le suivant : http://NomServeur:Port/NomRépertoireVirtuel/NomCollection Si aucun répertoire virtuel n'est utilisé, le format de l'URI est le suivant : http://NomServeur:Port/NomCollection |
/n:RefName /n:Name |
Nom de référence d'un champ de type d'élément de travail. |
/index |
Indique s'il faut activer ou désactiver l'indexation pour le champ spécifié. Spécifiez on pour activer l'indexation et off pour la désactiver. |
/name:NewName |
Spécifie le nouveau nom du champ. |
/syncnamechanges |
Spécifie d'utiliser le champ d'élément de travail pour le stockage de noms et de le mettre à jour à mesure que des modifications sont apportées dans Active Directory ou un groupe de travail. Cette option n'est valide que si un champ avec le type de données String est spécifié pour typename. Spécifiez true pour permettre la synchronisation du champ de données, spécifiez false pour désactiver la synchronisation du champ de données. |
/reportingname:ReportingName |
Spécifie le nom du champ dans l'entrepôt de données à utiliser pour la création de rapports. |
/reportingrefname:ReportingRefName |
Spécifie le nom de référence du champ dans l'entrepôt de données à utiliser pour la création de rapports. |
/reportingtype:Type |
Spécifie la façon dont le champ est utilisé dans l'entrepôt pour la création de rapports. Les valeurs suivantes sont valides :
Pour plus d'informations, consultez Définir et modifier les champs des éléments de travail. |
/reportingformula:Formula |
Spécifie la formule d'agrégation à utiliser lorsque le champ est signalé comme étant de type measure. La seule formule prise en charge est sum. |
/type:HTML | PlainText |
Spécifie la conversion du contenu du champ du type PlainText en type HTML ou du type HTML en type PlainText. Vous pouvez uniquement spécifier cette option pour les champs auxquels le type PlainText ou HTML est assigné. Consultez Référence des éléments FIELD (Définition). |
/unused |
Répertorie tous les champs qui ne sont utilisés par aucun projet d'équipe défini dans la collection de projets d'équipe. |
/noprompt |
Désactive l'invite de confirmation. |
/? or help |
Affiche de l'aide sur la commande dans la fenêtre d'invite de commandes. |
Notes
Champs indexés
Un index de requête est créé. Il est basé sur les champs dont l'indexation est activée. Cet index permet d'améliorer le temps de réponse lors de l'exécution de requêtes comprenant des champs indexés.
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. S'il existe d'autres champs fréquemment utilisés dans les requêtes de votre équipe, vous pouvez les ajouter à l'index de requête.
Synchronisation des noms de personnes avec Active Directory
Vous devez activer manuellement la synchronisation de tous les champs d'éléments de travail personnalisés qui sont utilisés pour assigner des noms de personnes qui référencent Active Directory. Vous devez activer la synchronisation pour chaque champ de toute collection de projets d'équipe contenant les champs personnalisés.
L'attribut syncnamechanges de tous les champs de référence système qui affichent des noms de personnes a la valeur true. Ces champs comptent notamment System.AuthorizedAs, System.AssignedTo, System.ChangedBy et System.CreatedBy. La synchronisation est activée pour chaque champ de nom de personne défini dans l'un des modèles de processus par défaut. Pour plus d'informations, consultez Référence des champs des attributions et flux de travail.
Une fois la synchronisation activée, le champ n'affiche plus une chaîne statique. Il affiche à la place le nom associé à un compte d'utilisateur. Lorsque vous modifiez le nom d'utilisateur dans Active Directory ou dans un groupe de travail, un champ dont l'attribut syncnamechanges a la valeur true affiche automatiquement le nouveau nom.
Lorsque vous assignez l'attribut syncnamechanges à un champ String, ce dernier accepte toujours les noms d'utilisateur valides. Toutefois, le champ n'autorise pas les noms de groupes qui sont stockés dans Team Foundation Server ou dans Active Directory si l'une des conditions suivantes a la valeur true :
La règle VALIDUSER est spécifiée pour tous les types d'éléments de travail.
La règle VALIDUSER est spécifiée pour un type d'élément de travail.
La règle ALLOWEDVALUES est spécifiée pour un type d'élément de travail, et cette règle a un critère de filtre qui exclut les groupes.
Pour plus d'informations, consultez Référence de tous les éléments XML FIELD.
Attributs que vous pouvez modifier pour chaque type d'élément de travail
Vous pouvez modifier les valeurs ou les attributs suivants définis pour un champ en changeant la définition du type d'élément de travail dans laquelle le champ apparaît :
Nom affiché sur le formulaire d'élément de travail. Consultez Référence des éléments XML Control.
Texte d'aide. Consultez Appliquer une règle à un champ d'élément de travail.
Valeurs autorisées ou éléments dans une liste de choix ou un menu déroulant. Consultez Définir les listes de choix.
Exemples
Sauf spécification contraire, les valeurs suivantes s'appliquent dans chaque exemple :
URI pour la collection de projets d'équipe : http://AdventureWorksServer:8080/tfs/DefaultCollection
Nom du champ d'élément de travail : AdventureWorks.Field
Encodage par défaut : UTF-8
Champs de liste
Utilisez witadmin listfields pour afficher l'ensemble des champs utilisés et pour en sélectionner un à ajouter à un type d'élément de travail. Vous pouvez aussi répertorier les assignations d'attributs définies pour un champ spécifique et déterminer les champs utilisés par les différents projets d'équipe.
Afficher les attributs d'un champ d'élément de travail
Entrez la commande suivante pour répertorier les attributs définis pour un champ spécifié, par exemple Microsoft.VSTS.Common.Issue.
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Issue
Des informations sur les champs et les attributs apparaissent pour le champ nommé, comme le montre l'exemple suivant.
Field: Microsoft.VSTS.Common.Issue Name: Issue Type: String Reportable As: dimension Use: Adventure Works (Shared Steps), AW Future (Shared Steps), AW Current (Shared Steps) Indexed: False
Le paramètre Use indique le nom de chaque projet et le type d'élément de travail dans lequel le champ est utilisé. Pour plus d'informations sur les attributs de champs, consultez Référence des champs d'éléments de travail pour Visual Studio ALM.
Répertorier tous les champs d'une collection de projets d'équipe
Entrez la commande suivante pour répertorier tous les champs définis pour une collection de projets d'équipe.
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection
Des informations relatives au champ s'affichent pour chaque champ de la collection de projets. Consultez Référence des champs d'éléments de travail pour Visual Studio ALM.
Répertorier les champs non utilisés
Entrez la commande suivante pour répertorier les champs qui ne sont plus utilisés par les types d'éléments de travail dans la collection de projets d'équipe.
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /unused
Des informations relatives au champ et aux attributs s'affichent pour chaque champ qui n'est pas utilisé, comme le montre l'exemple suivant.
Field: Microsoft.VSTS.CMMI.TaskType Name: Task Type Type: String Reportable As: dimension Use: Not In Use Indexed: False Field: Microsoft.VSTSUE.Common.Flag Name: Flag Type: String Reportable As: dimension Use: Not In Use Indexed: False Field: Microsoft.VSTSUE.Common.Progress Name: Progress Type: String Reportable As: dimension Use: Not In Use Indexed: False
Renommer un champ
Vous pouvez modifier le nom convivial d'un champ d'élément de travail pour respecter les conventions d'affectation de noms utilisées par votre équipe. Notez que le nouveau nom est appliqué à tous les types d'éléments de travail qui référencent le champ modifié dans tous les projets d'équipe de la collection de projets. Le nom convivial s'affiche lorsque vous définissez des critères de filtre dans une requête d'élément de travail. Le nom qui s'affiche sur un formulaire d'élément de travail peut différer du nom convivial défini pour le champ.
Pour renommer un champ d'élément de travail
Entrez la commande suivante pour renommer le nom convivial assigné à Microsoft.VSTS.Common.Rank en Important Rank.
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"
À l'invite de confirmation, tapez y, puis appuyez sur Entrée. Attendez que le message suivant s'affiche :
Field renamed.
Pour vérifier les modifications importées dans un projet unique
Dans Team Explorer, sélectionnez Actualiser.
Les dernières mises à jour sont téléchargées depuis le serveur, notamment les modifications que vous venez d'apporter au nom du champ. Patientez quelques secondes pour que l'actualisation se termine.
Sélectionnez Nouvelle requête pour créer une requête.
Dans l'Éditeur de requête, sélectionnez Cliquez ici pour ajouter une clause pour ajouter une ligne, sélectionnez la cellule Champ vide, puis tapez Rank dans cette dernière. Le message suivant apparaît au-dessus de la liste de résultats. Ce message indique que Rank est introuvable.
Exécutez la requête pour afficher les résultats de la requête. TF51005: la requête fait référence à un champ qui n'existe pas. L'erreur est causée par <<Rank>>.
Supprimez la valeur Rank de la cellule Champ, puis tapez Important Rank dans la cellule.
Sélectionnez <> dans la cellule Opérateur, puis tapez 1 dans la cellule Valeur.
Dans la barre d'outils Requête, sélectionnez Exécuter.
Ouvrez le menu contextuel de n'importe quelle ligne dans les résultats, puis sélectionnez Options de colonne. Faites défiler la liste Colonnes disponibles. Notez que le champ Rank a été remplacé par le champ Important Rank.
Sélectionnez Important Rank dans la zone Colonnes disponibles, puis cliquez sur le bouton > (Ajouter les colonnes sélectionnées). Cliquez sur OK.
Notez que Rank, le nom convivial pour Microsoft.VSTS.Common.Rank, a été remplacé par Important Rank dans le générateur de requêtes et la liste des résultats.
Fermez la requête. Choisissez Non quand vous êtes invité à enregistrer la requête.
Créez un élément de travail Tâche. Sélectionnez le lien Nouveaux éléments de travail, puis Tâche.
Cet élément de travail est créé à partir du type d'élément de travail que vous avez modifié et importé.
Dans la zone État, notez que l'étiquette du champ renommé, Rank, n'a pas changé. En effet, la portée des étiquettes de champ sur les formulaires d'élément de travail se limite au projet d'équipe parent, et les étiquettes sont indépendantes du nom de champ qui vient d'être spécifié au niveau du serveur.
Notes
Pour plus d'informations sur la modification des étiquettes de champ sur les formulaires d'éléments de travail, consultez Référence des éléments XML Control.
Fermez la nouvelle tâche, puis sélectionnez Non lorsque vous êtes invité à enregistrer l'élément de travail.
Modifier la capacité à signaler la valeur d'un champ
La commande suivante spécifie la capacité à signaler le type du champ DateTime AdventureWorks.CreatedOn à dimension. Les données de ce champ entrant dans les bases de données de l'entrepôt et d'Analysis Services, vous pouvez les utiliser pour filtrer des rapports.
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.CreatedOn /reportingtype:dimension
La commande suivante spécifie la possibilité de signaler le type du champ Double AdventureWorks.Field à measure. Toutes les mesures sont agrégées par sum.
witadmin reportfield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field /reportingtype:measure
Activer la synchronisation d'un champ de nom de personne personnalisé
La commande suivante permet de synchroniser le champ d'élément de travail AW.CustomerName défini pour Collection1 sur AdventureWorksServer.
Vérifier le type de données du champ à convertir
Vérifiez le type de données assigné au champ, par exemple MyCompany.CustomerName, que vous souhaitez synchroniser en entrant la commande suivante :
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName
Activer la synchronisation
Pour activer la synchronisation d'un champ de nom de personne, tapez la commande suivante en remplaçant les arguments indiqués ici par vos données :
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName /syncnamechanges:true
Le message de confirmation suivant s'affiche :
This will change properties for field {0} on the Team Foundation Server. Do you want to continue?
Tapez 0 pour confirmer que vous souhaitez modifier le champ ou 1 pour annuler la demande.
Si la demande de modification réussit, le message de confirmation suivant s'affiche :
The field was updated.
Si la demande de modification échoue, un message d'erreur s'affiche. Les erreurs les plus fréquemment commises ont trait à la tentative de modification d'un champ de référence système ou d'un champ d'un type de données autre que String. Ces opérations ne sont pas prises en charge.
Supprimer un champ
Avant de supprimer un champ, vérifiez qu'il n'est pas utilisé. Si le champ est en cours d'utilisation, vous devez d'abord le supprimer des types d'éléments de travail qui l'emploient avant de le supprimer de la collection de projets d'équipe. La commande suivante supprime le champ AdventureWorks.Field de Collection1 :
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field
Vérifier qu'un champ n'est pas en cours d'utilisation
Entrez la commande suivante en spécifiant le nom de référence du champ d'élément de travail, par exemple MyCompany.MyProcess.MyField.
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.MyProcess.MyField
Dans les informations affichées pour le champ, vérifiez que Use a la valeur « Not In Use », comme dans l'exemple suivant.
Field: MyCompany.MyProcess.MyField Name: MyField Type: String Reportable As: dimension Use: Not In Use Indexed: False
Si le champ Use indique que le champ est en cours d'utilisation, vous devez le supprimer de chaque type d'élément de travail pour chaque projet d'équipe répertorié. Par exemple, le champ Microsoft.VSTS.TCM.SystemInfo indique qu'il est utilisé par les types d'éléments de travail Bug et Code Defect pour quatre projets : Arroyo, Desert, Palm et Springs.
Field: Microsoft.VSTS.TCM.SystemInfo Name: System Info Type: Html Reportable As: None Use: Arroyo (Bug), Desert (Bug), Palm (Bug), Springs (Bug, Code Defect) Indexed: False
Avant de pouvoir supprimer ce champ, vous devez le supprimer de chacun des types d'éléments de travail répertoriés pour chaque projet d'équipe pour lequel il est défini. Pour supprimer le champ, modifiez la définition du type d'élément de travail en supprimant les éléments FIELD et Control qui contiennent le nom de référence de champ. Voir Importer, exporter et gérer des types d'éléments de travail [witadmin], Référence des éléments FIELD (Définition) et Référence des éléments XML Control.
Supprimer un champ d'une collection de projets d'équipe
Entrez la commande suivante pour supprimer le champ MyCompany.MyProcess.MyField, puis appuyez sur Entrée.
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:RefName
Entrez y à l'invite de confirmation pour terminer cette étape.
Q et R
Q : Quelles personnalisations puis-je effectuer tout en continuant à utiliser l'Assistant Configurer les fonctionnalités pour mettre à jour mon projet d'équipe après une mise à niveau TFS ?
R : Vous pouvez ajouter des champs personnalisés, personnaliser une liste de choix et ajouter des règles à champ. L'Assistant Configurer les fonctionnalités mettra à jour vos projets d'équipe et vous aurez accès aux fonctionnalités les plus récentes.
Il n'est pas recommandé de modifier les attributs d'un champ. Pour en savoir plus sur les personnalisations que vous pouvez effectuer et celles à éviter, consultez Personnaliser l'expérience de suivi du travail : avant d'effectuer la personnalisation, comprendre les implications en matière de maintenance et de mise à jour.
Voir aussi
Concepts
Résoudre les conflits de schéma qui se produisent dans l'entrepôt de données
Ajouter et modifier des champs d'éléments de travail pour prendre en charge la création de rapports
Référence des champs d'éléments de travail pour Visual Studio ALM
Référence des champs signalables pour Visual Studio ALM
Autres ressources
witAdmin : personnaliser et gérer des objets pour le suivi des éléments de travail