Partager via


Référence des éléments XML du mappage de champs pour l'intégration de Team Foundation Server et Project Server

En personnalisant les mappages de champs, vous pouvez définir les champs dans Visual Studio Team Foundation Server 2012 et Microsoft Project server doivent être conservés synchronisés et les champs sont mis à jour dans la file d'attente d'état de Project Server et dans Team Foundation.

[!REMARQUE]

Les mappages de champs pour l'intégration de Team Foundation Server avec Project Server sont distincts du fichier de mappage de Microsoft Project.Pour plus d'informations sur le dernier fichier, consultez Fichier de mappage de champs Microsoft Project.

Vous gérez un ensemble de mappages de champs pour chaque collection de projets d'équipe hébergeant des projets d'équipe à synchroniser avec Project Server.Pour extraire les mappages de champs, vous pouvez les télécharger dans un fichier à partir de la collection.Après avoir modifié le fichier, vous pouvez le télécharger dans la collection. Ainsi, les modifications s'appliqueront à tous les projets d'équipe définis pour cette collection.Pour plus d'informations sur le téléchargement des mappages de champs, consultez Personnaliser le mappage de champs entre Project Server et Team Foundation Server.

Dans cette rubrique

  • Champs obligatoires

  • Champs par défaut mappés

  • Mappage des éléments et des attributs

  • Mappages de champs par défaut

Champs obligatoires

Les champs suivants doivent être mappés pour prendre en charge la synchronisation de données.Si vous avez personnalisé les champs utilisés pour planifier le travail, vous devez personnaliser les mappages de champs pour référencer les champs que vous utilisez.

  • System.Title doit être mappé à pjTaskName.

  • System.AssignedTo doit être mappé à pjResourceNames.

  • Le champ que vous utilisez pour effectuer le début du travail dans Team Foundation doit être mappé à pjTaskStart.Par défaut, ce champ est Microsoft.VSTS.Scheduling.StartDate.

  • Le champ que vous utilisez pour effectuer le suivi du travail effectué dans Team Foundation doit être mappé à pjTaskFinish.Par défaut, ce champ est Microsoft.VSTS.Scheduling.FinishDate.

Retour au début

Champs par défaut mappés

Pour chaque champ dans Team Foundation, vous pouvez spécifier deux mappages.Dans le premier mappage, spécifiez le champ dans Project que le champ dans Team Foundation met à jour dans la file d'attente d'état.Dans le second mappage, spécifiez le champ dans Project qui met à jour le champ dans Team Foundation.En outre, vous pouvez indiquer si le champ dans Team Foundation s'affiche sur le formulaire d'élément de travail et spécifier le mode de mise à jour des champs de référence et mis en miroir.

Par défaut, tous les champs de Project mappés sont également mis en miroir, ce qui signifie que leurs valeurs sont stockées dans Team Foundation.

Important

Dans la plupart des configurations, vous ne devez pas supprimer les mappages de champs par défaut car le processus de synchronisation en a besoin.Par exemple, ne supprimez pas les mappages par défaut si votre plan de projet d'entreprise vers un projet d'équipe créé à partir d'un modèle de processus basé sur Microsoft Solutions Framework (MSF) for Agile Software développement ou l'amélioration des processus integration (CMMI) de modèle de maturity model integration).

Toutefois, si votre plan à un projet d'équipe créé à l'aide de le modèle de processus scrum d' Visual Studio , vous pouvez devoir supprimer certains mappages par défaut.Si votre collection de projets contient uniquement des projets d'équipe créés à l'aide du modèle Scrum, vous pouvez recevoir une erreur lors de la configuration des deux produits serveurs.Pour de meilleurs résultats, ajoutez Travail effectué (Microsoft.VSTS.Scheduling.CompletedWork) et Estimation d'origine (Microsoft.VSTS.Scheduling.OriginalEstimate) aux éléments de travail que vous projetez de mapper.De plus, vous devez supprimer les instructions de flux de travail d' <EMPTY /> de la définition de type de tâche.Pour plus d'informations, consultez Modifications requises pour effectuer lors d'un mappage vers un projet d'équipe créé à partir de le modèle de processus scrum.

Le tableau suivant décrit les mappages par défaut assignés aux champs dans Team Foundation.Vous pouvez indiquer le mode de mise à jour des champs de référence et mis en miroir.Vous pouvez définir OnConflict sur PSWins pour remplacer la valeur dans Team Foundation avec la valeur de Project Server.Si vous laissez l'attribut OnConflict non spécifié, les champs gèrent des valeurs différentes.Pour plus d'informations, consultez Éléments et attributs des champs plus loin dans cette rubrique.

Pour plus d'informations sur les champs mis en miroir et le processus de synchronisation, consultez l' Comprendre comment sont gérées les mises à jour de certains champs en particulier.

Champ Team Foundation

Champ de projet

Champ d'affichage sous l'onglet Project Server du formulaire de l'élément de travail (displayTfsField)

Champ d'affichage mis en miroir sous l'onglet Project Server du formulaire de l'élément de travail (displayTfsMirror)

Mises à jour de champs (OnConflict)

Titre

Nom de la tâche

Non

Non

La valeur dans Project Server remplace la valeur dans Team Foundation.

Assigné à.

Ressources

Non

Non

La valeur dans Project Server remplace la valeur dans Team Foundation.

Travail restant

Travail restant de la ressource (file d'attente d'état)

Travail restant de la tâche (Project Server)

Oui

Oui

Chaque valeur est conservée.

Travail effectué

Travail réel de la ressource (file d'attente d'état)

Travail réel de la tâche (Project Server)

Oui

Oui

Chaque valeur est conservée.

Estimation d'origine

Travail planifié

Non

Oui

La valeur dans Project Server remplace la valeur dans Team Foundation.

Date de début

Démarrage des ressources (file d'attente d'état)

Démarrage des tâches (Project Server)

Non

Non

La valeur dans Project Server remplace la valeur dans Team Foundation.

Date de fin

Fin des ressources (file d'attente d'état)

Fin des tâches (Project Server)

Non

Non

La valeur dans Project Server remplace la valeur dans Team Foundation.

Vous pouvez afficher d'autres champs Project sous l'onglet Project Server d'un formulaire d'élément de travail dans Team Foundation si vous les ajoutez aux mappages de champs.Pour plus d'informations sur cet onglet, consultez Champs Project Server ajoutés pour prendre en charge la synchronisation de données.

Retour au début

Mappage des éléments et des attributs

Utilisez un élément field pour spécifier un champ de référence dans Team Foundation à synchroniser.Tous les éléments field sont contenus dans les éléments conteneurs mappingFile, persistables et Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping.

Important

Lorsque vous mappez un champ de Team Foundation Server à Project Server, assurez-vous de mettre en correspondance les types de données de ces champs.Sinon, l'erreur suivante peut s'afficher lorsque vous essayez de télécharger les mappages de champs :

L'index (base zéro) doit être supérieur ou égal à zéro et inférieur à la taille de la liste d'arguments.

Pour plus d’informations, consultez Data Types and Field Mapping Criteria.

L'exemple suivant illustre l'imbrication des structures des éléments XML.Pour afficher les mappages par défaut, consultez Fichier de mappage par défaut plus loin dans cette rubrique.

<mappingFile>
   <persistables>
      <Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
         <field tfsName="System.Title" tfsMirrorName="Mirror.System.Title" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
            <tfsToTarget>
               <target provider="ProjectServerStatusQueue" name="pjTaskName" />
            </tfsToTarget>
            <targetToTfs>
               <target provider="ProjectServerPublished" name="pjTaskName" />
            </targetToTfs>
         </targetToTfs>
      </field>

         . . .

    </Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
  </persistables>
</mappingFile>

Gg412657.collapse_all(fr-fr,VS.110).gifSyntaxe de l'élément Field

La syntaxe suivante définit les attributs de l'élément field :

<field tfsName="FieldName" tfsMirrorName="FieldMirrorName" displayTfsField="true | false" displayTfsMirror=" true | false" onConflict="PSWin">

Gg412657.collapse_all(fr-fr,VS.110).gifSyntaxe des éléments cibles

La syntaxe suivante définit les attributs de l'élément target :

<target provider="ProviderName" name="ProjectFieldName" />

Pour déterminer le nom du champ, ajoutez le préfixe « pj » au nom convivial concaténé.Par exemple, le nom du champ du gestionnaire d'état est pjStatusManager, et le nom du champ Custom 01 est pjCustom01.

Retour au début

Gg412657.collapse_all(fr-fr,VS.110).gifÉléments et attributs des champs

Le tableau suivant décrit les sous-éléments et les attributs de l'élément field.Vous mappez un champ Team Foundation à un champ de ressource Project dont vous voulez mettre à jour la valeur pendant la synchronisation des états.Vous mappez un champ Team Foundation à un champ de tâche Project dont vous la valeur doit mettre à jour Team Foundation Server pendant la synchronisation des publications.En outre, vous devez vous assurer que les unités des champs que vous mappez respectent les critères définis.Pour plus d’informations, consultez Restrictions du mappage des champs Project Server pour l'intégration avec Team Foundation Server.

Élément

Attribut

Description

field

Spécifie le champ dans Team Foundation à mapper et le mode de mappage du champ.

tfsName

Spécifie le nom de référence du champ dans Team Foundation à synchroniser.Vous devez spécifier un champ défini dans la collection de projets d'équipe.Vous pouvez répertorier tous les champs dans une collection en exécutant la commande witadmin listfields.Pour plus d’informations, consultez Gérer des champs d'éléments de travail (witadmin).

tfsMirrorName

Requis.Spécifie le nom de référence sous lequel vous souhaitez stocker la valeur du champ Project Server dans Team Foundation Server.Vous pouvez ajouter au nom de référence le préfixe "Mirror". Par exemple, vous pouvez spécifier Mirror.System.Title pour System.Title.

RemarqueRemarque
Les champs mis en miroir que vous spécifiez sont créés automatiquement.Vous n'êtes pas obligé d'ajouter des champs mis en miroir à la définition de type d'un élément de travail.

displayTfsField

Optionnel.Par défaut, cet attribut a la valeur true.Si cet attribut a la valeur true, le champ s'affiche sous l'onglet Project Server du formulaire d'élément de travail dans Team Foundation.Si cet attribut a la valeur false, le champ ne s'affiche pas sur le formulaire.Par défaut, seuls les champs Travail effectué et Travail restant s'affichent sur le formulaire.

displayTfsMirror

Optionnel.Par défaut, cet attribut a la valeur true.Si cet attribut a la valeur true, le champ s'affiche sous l'onglet Project Server du formulaire d'élément de travail dans Team Foundation.Si cet attribut a la valeur false, le champ ne s'affiche pas sur le formulaire.

onConflict

Optionnel.Spécifie comment le moteur de synchronisation met à jour le champ de référence.La seule valeur valide est PSWin.

Lorsque cet attribut a la valeur PSWin, la valeur du champ de référence est conservée lorsque la valeur actuelle publiée Project Server diffère de la valeur en miroir.

Si vous ne définissez pas cet attribut, vous indiquez que les deux copies doivent être conservées.En d'autres termes, la valeur dans Project peut différer de la valeur dans Team Foundation.Par défaut, les valeurs dans Project remplacent toujours les valeurs des champs Titre, Assigné à, Date de début et Date de fin.Par défaut, seuls les champs Travail effectué et Travail restant sont conservés avec deux copies.Pour plus d’informations, consultez Mises à jour des champs qui contiennent des heures.

tfsToTarget

Spécifie le nom du champ dans Project que Team Foundation mettra à jour.

target

Spécifie la cible des mises à jour de Team Foundation.

provider

Spécifie le nom du fournisseur de mise à jour.Pour tfsToTarget, la seule valeur valide est ProjectServerStatusQueue.

name

Spécifie le nom du champ dans Project qui sera mis à jour avec la valeur présente dans Team Foundation.Vous pouvez mapper uniquement les champs personnalisés intégrés ou d'entreprise dans Project Server.Pour obtenir la liste des champs disponibles, consultez Fields Available for Mapping to the Status Queue.

targetToTfs

Spécifie le mappage de champs permettant de synchroniser les mises à jour de Project Server avec Team Foundation Server.

target

Spécifie la cible des mises à jour de Project Server.

provider

Spécifie le nom du fournisseur de mise à jour.Pour targetToTfs, la seule valeur valide est ProjectServerPublished.

name

Spécifie le nom du champ dans Project qui mettra à jour le champ dans Team Foundation.Vous pouvez mapper uniquement les champs personnalisés intégrés ou d'entreprise.Pour obtenir la liste des champs disponibles, consultez Fields Available for Mapping from Project Server to Team Foundation Only.

transforms

Optionnel.Élément conteneur de cet élément d' transform .

transform

transformType

Spécifie le type de transformation à appliquer au champ.Vous pouvez spécifier qu' transformType pour targetToTfs et uniquement pour les types de champs numériques.La seule valeur valide est ClearValueIfParent.

Lorsque le moteur de synchronisation détecte une hiérarchie à un élément de travail qui est synchronisée avec Project Server, il effectue une cigarette roulée pour que le travail et les assignations les envoyer à Project Server.Toutefois, avec transformType défini à ClearValueIfParent, le moteur de synchronisation efface les champs travail sur l'élément de travail parent dans Team Foundation Server pour éviter des données non valides dans les rapports standard d' Team Foundation Server .

Retour au début

Mappages par défaut

Le code suivant répertorie les mappages de champs par défaut définis quand vous exécutez la commande TfsAdmin ProjectServer /UploadFieldMappings et que vous spécifiez l'option /useDefaultFieldMappings.Vous pouvez télécharger ces mappages dans un fichier, puis lui ajouter des éléments ou modifier les attributs des champs répertoriés.

Pour obtenir une liste de tous les champs ajoutés à un type d'élément de travail lorsque vous ajoutez ce type pour participer à la synchronisation de données, consultez Champs Project Server ajoutés pour prendre en charge la synchronisation de données.

<mappingFile>
  <persistables>
    <Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
      <field tfsName="System.Title" tfsMirrorName="Mirror.System.Title" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjTaskName" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskName" />
        </targetToTfs>
      </field>
      <field tfsName="System.AssignedTo" tfsMirrorName="Mirror.System.AssignedTo" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjTaskResourceNames" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskResourceNames" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.CompletedWork" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.CompletedWork" displayTfsField="true" displayTfsMirror="true">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceActualWork" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskActualWork" />
            <transforms>
               <transform transformType="clearValueIfParent">
            </transforms>
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.RemainingWork" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.RemainingWork" displayTfsField="true" displayTfsMirror="true">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceRemainingWork" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskRemainingWork" />
            <transforms>
               <transform transformType="clearValueIfParent">
            </transforms>
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.OriginalEstimate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.OriginalEstimate" displayTfsField="false" displayTfsMirror="true" onConflict="PSWin">
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskBaselineWork" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.StartDate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.StartDate" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceStart" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskStart" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.FinishDate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.FinishDate" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceFinish" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskFinish" />
        </targetToTfs>
      </field>
    </Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
  </persistables>
</mappingFile>

Retour au début

Voir aussi

Référence

Gérer des mappages de champs pour l'intégration de Team Foundation Server et Project Server

Concepts

Restrictions du mappage des champs Project Server pour l'intégration avec Team Foundation Server

Champs Project Server ajoutés pour prendre en charge la synchronisation de données

Administrer l'intégration de Team Foundation Server et Project Server

Autres ressources

Personnaliser le mappage de champs entre Project Server et Team Foundation Server