Partager via


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 assigné au champ Description (System.Description) est automatiquement converti de PlainText à 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é.

L'outil en ligne de commande witadmin ne fonctionne que quand vous l'exécutez sur un serveur TFS local. Pour exécuter l'outil, 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 14.0\Common7\IDE

Sur une édition 32 bits de Windows, remplacez %programfiles(x86)% par %programfiles%.

Pour une vue d'ensemble des champs définis dans un modèle de processus par défaut, 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 :

  • dimension: utilisée pour les champs Integer, String ou DateTime.

  • detail: utilisée pour les champs Integer, Double, String ou DateTime.

  • measure: utilisée pour les champs Integer et Double. Le type d'agrégation par défaut est sum. Utilisez le paramètre formula pour spécifier un autre type d'agrégation.

  • none: utilisée pour désactiver la rapportabilité sur le champ.

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.

Tous les champs de référence système qui affichent des noms de personnes ont l'attribut syncnamechanges défini sur true. Ces champs sont 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 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 :

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 champ, 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

  1. 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"
    
  2. À 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

  1. Dans Team Explorer, sélectionnez Actualiser 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.

  2. Sélectionnez Nouvelle requête pour créer une requête.

  3. 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>>.

  4. Supprimez la valeur Rank de la cellule Champ, puis tapez Important Rank dans la cellule.

  5. Sélectionnez <> dans la cellule Opérateur, puis tapez 1 dans la cellule Valeur.

  6. Dans la barre d'outils Requête, sélectionnez Exécuter la requête (Team Explorer) Exécuter.

  7. 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.

  8. 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.

  9. Fermez la requête. Choisissez Non quand vous êtes invité à enregistrer la requête.

  10. 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é.

  11. 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.

  12. 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

  1. 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
    
  2. Le message de confirmation suivant s'affiche :

    This will change properties for field {0} on the Team Foundation Server. Do you want to continue?

  3. 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

  1. 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
    
  2. 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. Consultez 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, voir 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