Gérer des champs d'éléments de travail (witadmin)
Vous pouvez gérer les champs de type d'élément 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.Lorsque vous modifiez l'un des attributs suivants, modifiez-le pour 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 Team Foundation Server à partir d'une version antérieure à la version actuelle, l'assignation de type pour le champ Description (System.Description) est automatiquement convertie de PlainText en HTML.Avec la commande changefield, restaurez le contenu de ce champ au texte brut d'affichage.
Nom convivial qui affiche 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.
L'enregistrement des attributs qui inclut le nom du champ tel qu'il apparaît dans un rapport, le nom du rapport de référence et le type d'enregistrement.
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 : affiche les attributs de tous les champs ou d'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%\Microsoft Visual Studio 11.0\Common7\IDE
Sur une édition 64 bits de Windows, remplacez %programfiles% par %programfiles(x86)%.
Pour une vue d'ensemble des champs définis dans les modèles de processus par défaut fournis avec Team Foundation Server, reportez-vous à Référence des champs d'éléments de travail pour Visual Studio ALM.
[!REMARQUE]
Vous pouvez créer et modifier les champs d'élément de travail à l'aide de l'éditeur de processus, un outil puissant 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.
Configuration requise
Pour répertorier les champs, votre autorisation Afficher les informations au niveau du projet pour le projet d'équipe dans la collection doit avoir la valeur Autoriser.
Pour supprimer ou renommer des champs ou un attribut d'un champ, vous devez être membre du groupe de sécurité Team Foundation Administrators ou du groupe de sécurité Project Collection Administrators.
Pour plus d'informations, consultez Autorisations de Team Foundation Server et Groupes, autorisations et rôles par défaut de Team Foundation Server.
[!REMARQUE]
Même si vous vous connectez avec des autorisations d'administration, vous devez ouvrir une fenêtre d'invite de commandes avec élévation de privilèges pour exécuter cette fonction sur un serveur 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, consultez le site Web 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 pour l'URI est le suivant :http://ServerName:Port/VirtualDirectoryName/CollectionName 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 |
Spécifie l'activation ou la désactivation de l'indexation du champ spécifié.Spécifiez on pour activer l'indexation et off pour désactiver l'indexation. |
/name:NewName |
Spécifie le nouveau nom du champ. |
/syncnamechanges |
Spécifie l'utilisation du champ d'élément de travail pour stocker des noms et procéder à une mise à jour à mesure que des modifications sont apportées à Active Directory ou à un groupe de travail.Cette option est valide uniquement lorsqu'un champ avec le type de données String est spécifié pour le 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 à utiliser dans l'entrepôt de données pour la création de rapports. |
/reportingrefname:ReportingRefName |
Spécifie le nom de référence du champ à utiliser dans l'entrepôt de données pour la création de rapports. |
/reportingtype:Type |
Spécifie le mode d'utilisation du champ dans l'entrepôt pour la création de rapports.Les valeurs suivantes sont valides :
Pour plus d'informations, consultez Utilisation des champs d'élément de travail. |
/reportingformula:Formula |
Spécifie la formule d'agrégation à utiliser lorsque le champ est signalé comme étant un measure.La seule formule prise en charge est sum. |
/type:HTML | PlainText |
Spécifie la conversion du contenu du champ de PlainText à HTML ou de HTML en PlainText.Vous pouvez spécifier cette option uniquement pour les champs dont l'assignation de type est PlainText ou HTML.Consultez Élément FIELD (Définition). |
/unused |
Affiche tous les champs qui ne sont pas utilisés par les projets d'équipe définis 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. |
Remarques
Champs indexés
Un index de requête est créé en fonction des champs pour lesquels l'indexation est activée.Cet index améliore le temps de réponse en exécutant les requêtes qui incluent 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 souvent utilisés par votre équipe dans les requêtes, vous pouvez les ajouter à l'index de requête.
Synchronisation des noms de personnes avec Active Directory
Vous devez activer manuellement la synchronization des champs d'élément de travail personnalisés utilisés pour assigner des noms de personnes faisant référence à Active Directory.Vous devez activer la synchronisation pour chaque champ de chaque collection de projets d'équipe qui contient les champs personnalisés.
Pour tous les champs de référence système qui affichent des noms de personnes, l'attribut syncnamechanges a la valeur true. De tels champs incluent 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 de champ Attributions et Flux de travail.
Une fois la synchronisation activée, le champ n'affiche plus de chaîne statique.À la place, il affiche le nom associé à un compte d'utilisateur.Lorsque vous modifiez le nom d'utilisateur dans Active Directory ou en mode de Groupe de travail, un champ dont syncnamechanges a la valeur true affiche automatiquement le nouveau nom.
Lorsque vous assignez l'attribut syncnamechanges à un champ String, le champ accepte toujours des noms d'utilisateur valides.Toutefois, le champ n'autorise pas les noms de groupe 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 à travers 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 des 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 modifiez les attributs ou les valeurs suivants définis pour un champ en modifiant la définition du type d'élément de travail dans laquelle le champ s'affiche :
Nom qui s'affiche sur le formulaire d'élément de travail.Consultez Référence des éléments XML Control.
Texte d'aide.Consultez Définir le texte d'aide d'un champ d'élément de travail.
Valeurs autorisées ou éléments d'une liste de choix ou un d'un menu déroulant.Consultez Définir des listes utilisateur, des listes de choix et des listes globales.
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
Afficher les champs
Utilisez witadmin listfields pour voir l'ensemble des champs en cours d'utilisation et en sélectionner un pour l'ajouter à un type d'élément de travail.Vous pouvez également répertorier les assignations d'attributs définies pour un champ spécifique et déterminer les champs utilisés en fonction des 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é, tel que Microsoft.VSTS.Common.Issue.
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Issue
Les informations de champ et d'attribut s'affichent pour le champ nommé, comme indiqué dans 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 où 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
Les informations de champ de tous les champs de la collection de projets nommée s'affichent.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 dans la collection de projets d'équipe par aucun type d'élément de travail.
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /unused
Les informations de champ et d'attribut s'affichent pour chaque champ qui n'est pas utilisé, comme indiqué dans 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 être différent 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 Rang important.
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"
À l'invite de confirmation tapez y et appuyez sur ENTRÉE.Attendez jusqu'à ce que le message suivant s'affiche :
Field renamed.
Pour vérifier les modifications importées dans un projet unique
Dans Team Explorer, choisissez Actualiser.
Les mises à jour les plus récentes sont téléchargées à partir du serveur, notamment les modifications que vous venez d'apporter au nom du champ.Attendez quelques secondes jusqu'à ce que l'actualisation se termine.
Sélectionnez Nouvelle requête pour créer une requête.
Dans l'éditeur de requêtes, sélectionnez le lien Cliquez ici pour ajouter une clause afin d'ajouter une ligne, sélectionnez la cellule Champ vide, puis tapez Rang dans cette dernière.Le message suivant apparaît au-dessus de la liste des résultats.Ce message indique que le Rang est introuvable.
Exécutez la requête pour consulter ses résultats. TF51005 : la requête fait référence à un champ qui n'existe pas.L'erreur est provoquée par <<Rang>>.
Supprimez la valeur Rang de la cellule Champ, puis tapez Rang important 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 sur une ligne quelconque des résultats et sélectionnez Options de colonne.Faites défiler la liste Colonnesdisponibles.Notez que le champ Rang a été remplacé par le champ Rang important.
Sélectionnez Rang important dans la zone Colonnes disponibles, puis sélectionnez le bouton > (Ajouter les colonnes sélectionnées).Cliquez sur OK.
Notez que Rang, le nom convivial de Microsoft.VSTS.Common.Rank, a été remplacé par Rang important dans le générateur de requêtes et la liste des résultats.
Fermez la requête.Choisissez Non lorsque 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é.
Remarquez que dans la zone État l'étiquette du champ renommé Rang 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, les étiquettes sont donc indépendantes du nom de champ qui vient d'être spécifié pour l'ensemble du serveur.
[!REMARQUE]
Pour plus d'informations sur la modification d'étiquettes de champ sur les formulaires d'élément de travail, consultez Modifier l'étiquette d'un champ.
Fermez la nouvelle tâche et sélectionnez Non lorsque vous êtes invité à enregistrer l'élément de travail.
Modifier la valeur de rapport d'un champ
La commande suivante spécifie la capacité à rapporter le type du champ DateTime AdventureWorks.CreatedOn à dimension.Les données de ce champ entrent dans les bases de l'entrepôt et d'Analysis Services afin qu'elles puissent être utilisées pour filtrer des rapports.
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.CreatedOn /reportingtype:dimension
La commande suivante spécifié la capacité à rapporter le type du champ Double AdventureWorks.Field à measure.Toutes les mesures sont agrégées par somme.
witadmin reportfield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field /reportingtype:measure
Activer la synchronisation d'un champ de nom de personnes personnalisé
La commande suivante permet la synchronisation pour le champ d'élément de travail AW.CustomerName défini pour Collection1 sur AdventureWorksServer.
Vérifier le type de données du champ que vous voulez convertir
Vérifiez le type de données assigné au champ, par exemple MyCompany.CustomerName, que vous souhaitez synchroniser en sélectionnant 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 substituant vos données aux arguments indiqués ici :
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName /syncnamechanges:true
La demande de confirmation suivante 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 voulez 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 qui peuvent être le plus fréquemment commises sont la tentative de modifier un champ de référence système ou la tentative de modifier 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 supprimer le champ des types d'éléments de travail qui l'utilisent 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, tel que 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 la valeur pour Use est "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 dans 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.Consultez Personnaliser et gérer des types d'éléments de travail (witadmin), Élément 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 cliquez sur Entrée.
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:RefName
Entrez y à l'invite de confirmation pour terminer cette étape.
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