Freigeben über


Feldzuordnungsverweis für XML-Elemente für die Integration von TFS-Project Server

Durch Anpassen der Feldzuordnungen können Sie festlegen, welche Felder in Visual Studio Team Foundation Server (TFS) und Microsoft Project Server synchronisiert bleiben sollen und welche Felder in der Statuswarteschlange für Project Server und in Team Foundation aktualisiert werden.

Hinweis

Die Feldzuordnungen für die Integration von TFS mit Project Server unterscheiden sich von der Feldzuordnungsdatei für Microsoft Project.Weitere Informationen zu dieser Datei finden Sie unter Anpassen der Microsoft Project-Feldzuordnungsdatei.

Sie verwalten einen Satz von Feldzuordnungen für jede Teamprojektsammlung, die Teamprojekte hostet, die Sie mit Project Server synchronisieren möchten. Um die Feldzuordnungen abzurufen, können Sie sie aus der Teamprojektsammlung in eine Datei herunterladen. Nachdem Sie die Datei geändert haben, können Sie sie in die Teamprojektsammlung hochladen, und die Änderungen werden auf alle Teamprojekte angewendet, die für diese Sammlung definiert sind. Weitere Informationen zum Herunterladen oder Hochladen von Feldzuordnungen finden Sie unter Anpassen der Feldzuordnung zwischen TFS und Project Server.

In diesem Thema

  • Pflichtfelder

  • Standardfelder, die zugeordnet werden

  • Zuordnen von Elementen und Attributen

  • Standardfeldzuordnungen

Pflichtfelder

Zur Unterstützung der Datensynchronisierung müssen die folgenden Felder zugeordnet werden. Wenn Sie die Felder angepasst haben, die zum Planen der Arbeit verwendet werden, müssen Sie die Feldzuordnungen anpassen, damit sie auf die Felder verweisen, die Sie verwenden.

  • PjTaskName muss System.Title zugeordnet sein.

  • PjResourceNames muss System.AssignedTo zugeordnet sein.

  • Das Feld, das Sie in Team Foundation zum Nachverfolgen des Arbeitsbeginns verwenden, muss pjTaskStart zugeordnet sein. Standardmäßig lautet dieses Feld Microsoft.VSTS.Scheduling.StartDate.

  • Das Feld, das Sie in Team Foundation zum Nachverfolgen abgeschlossener Arbeit verwenden, muss pjTaskFinish zugeordnet sein. Standardmäßig lautet dieses Feld Microsoft.VSTS.Scheduling.FinishDate.

Standardfelder, die zugeordnet werden

Sie können für jedes Feld in TFS zwei Zuordnungen angeben. In der ersten Zuordnung geben Sie das Feld in Project an, das vom Feld in TFS in der Statuswarteschlange aktualisiert wird. In der zweiten Zuordnung geben Sie das Feld in Project an, das das Feld in TFS aktualisiert. Außerdem können Sie angeben, ob das Feld in TFS im Arbeitsaufgabenformular angezeigt wird und wie Aktualisierungen an Verweis- und Spiegelfeldern vorgenommen werden.

Standardmäßig werden alle zugeordneten Projektfelder auch gespiegelt, was bedeutet, dass deren Werte in TFS gespeichert werden.

Wichtig

In den meisten Konfigurationen dürfen Sie die Standardfeldzuordnungen nicht entfernen, da sie für die Synchronisierung benötigt werden.Beispielsweise dürfen Sie die Standardzuordnungen nicht entfernen, wenn der Enterprise-Projektplan einem Teamprojekt zugeordnet ist, das aus einer Prozessvorlage erstellt wurde, die auf Microsoft Solutions Framework (MSF) for Agile Software Development oder Capability Maturity Model Integration (CMMI) Process Improvement basiert.

Wenn der Plan jedoch einem Teamprojekt zugeordnet wird, das mithilfe der Visual Studio-Scrum-Prozessvorlage erstellt wurde, müssen Sie möglicherweise einige Standardzuordnungen entfernen.Wenn die Projektsammlung nur Teamprojekte enthält, die mit der Scrum-Vorlage erstellt wurden, wird beim Konfigurieren der beiden Serverprodukte möglicherweise ein Fehler ausgegeben.Optimale Ergebnisse erzielen Sie, indem Sie den Arbeitsaufgaben, die Sie zuordnen möchten, die Felder Abgeschlossene Arbeit (Microsoft.VSTS.Scheduling.CompletedWork) und Ursprüngliche Schätzung (Microsoft.VSTS.Scheduling.OriginalEstimate) hinzufügen.Außerdem müssen Sie die <EMPTY />-Workflowanweisungen aus der Aufgabentypdefinition entfernen.Weiter Informationen finden Sie unter Erforderliche Änderungen bei der Zuordnung zu einem Teamprojekt, das aus der Scrum-Prozessvorlage erstellt wurde.

In der folgenden Tabelle werden die Standardzuordnungen für Felder in Team Foundation beschrieben. Sie können angeben, wie Referenz- und Spiegelfelder aktualisiert werden sollen. Sie können OnConflict auf PSWins festlegen, um den Wert in Team Foundation mit dem Wert aus Project Server zu überschreiben. Wenn Sie das OnConflict-Attribut nicht angegeben lassen, bleiben die Werte in den Feldern unterschiedlich. Weitere Informationen finden Sie weiter unten in diesem Thema in der Tabelle Field-Elemente und -Attribute.

Weitere Informationen zu Spiegelfeldern und zum Synchronisierungsprozess finden Sie unter Einblick in die Verwaltung der Updates spezifischer Felder.

Team Foundation-Feld

Project-Feld

Anzeigen eines Felds auf der Project Server-Registerkarte des Arbeitsaufgabenformulars (displayTfsField)

Anzeigen eines Spiegelfelds auf der Project Server-Registerkarte des Arbeitsaufgabenformulars (displayTfsMirror)

Feldaktualisierungen (OnConflict)

Titel

Aufgabenname

Nein

Nein

Der Wert in Team Foundation wird durch den Wert in Project Server ersetzt.

Zugewiesen an

Ressourcen

Nein

Nein

Der Wert in Team Foundation wird durch den Wert in Project Server ersetzt.

Verbleibende Arbeit

Ressource – verbleibende Arbeit (Statuswarteschlange)

Aufgabe – verbleibende Arbeit (Project Server)

Ja

Ja

Jeder Wert wird beibehalten.

Abgeschlossene Arbeit

Ressource – aktuelle Arbeit (Statuswarteschlange)

Aufgabe – aktuelle Arbeit (Project Server)

Ja

Ja

Jeder Wert wird beibehalten.

Ursprüngliche Schätzung

Geplante Arbeit

Nein

Ja

Der Wert in Team Foundation wird durch den Wert in Project Server ersetzt.

Startdatum

Ressource – Anfang (Statuswarteschlange)

Aufgabe –Anfang (Project Server)

Nein

Nein

Der Wert in Team Foundation wird durch den Wert in Project Server ersetzt.

Enddatum

Ressource – Abschluss (Statuswarteschlange)

Aufgabe – Abschluss (Project Server)

Nein

Nein

Der Wert in Team Foundation wird durch den Wert in Project Server ersetzt.

Sie können auf der Registerkarte Project Server eines Arbeitsaufgabenformulars in Team Foundation mehrere Project-Felder anzeigen, wenn Sie diese den Feldzuordnungen hinzufügen. Weitere Informationen zu dieser Registerkarte finden Sie unter Zu TFS hinzugefügte Project Server-Felder für die Unterstützung der Datensynchronisierung.

Zuordnen von Elementen und Attributen

Sie geben mit einem field-Element ein Verweisfeld in Team Foundation an, das synchronisiert werden soll. Alle field-Elemente befinden sich in den Containerelementen mappingFile, persistables und Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping.

Wichtig

Stellen Sie beim Zuordnen eines Felds aus TFS zu Project Server sicher, dass die Datentypen dieser Felder übereinstimmen.Andernfalls kann beim Hochladen der Feldzuordnungen der folgende Fehler auftreten:

Der Index, basierend auf 0 (null), muss größer oder gleich null sein und kleiner als die Größe der Argumentliste.

Weitere Informationen finden Sie unter Einschränkungen bei der Zuordnung von Project Server-Feldern bei der Integration von TFS-Project Server.

Im folgenden Beispiel wird die Schachtelungsstruktur von XML-Elementen gezeigt. Informationen zum Anzeigen der Standardzuordnungen finden Sie unter Standardzuordnungsdatei weiter unten in diesem Thema.

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

Feldelementsyntax

Die folgende Syntax definiert die Attribute des field-Elements:

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

Syntax des target-Elements

Die folgende Syntax definiert die Attribute des target-Elements:

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

Um den Feldnamen zu bestimmen, stellen Sie dem verketteten Anzeigenamen "pj" voran. Der Feldname für Status-Manager ist z. B. pjStatusManager, und der Feldname für Benutzerdefiniert 01 ist pjCustom01.

field-Elemente und -Attribute

In der folgenden Tabelle werden die Unterelemente und Attribute des field-Elements beschrieben. Sie ordnen ein Team Foundation-Feld einem Project-Ressourcenfeld zu, dessen Wert bei der Statussynchronisierung aktualisiert werden soll. Sie ordnen ein Team Foundation-Feld einem Projektaufgabenfeld zu, durch dessen Wert Team Foundation Server bei der Veröffentlichungssynchronisierung aktualisiert wird. Zudem müssen die Einheiten der Felder, die Sie zuordnen, den festgelegten Kriterien entsprechen. Weitere Informationen finden Sie unter Einschränkungen bei der Zuordnung von Project Server-Feldern bei der Integration von TFS-Project Server.

Element

Attribut

Beschreibung

field

Gibt das Feld in Team Foundation an, das zugeordnet werden soll, und gibt an, wie das Feld zugeordnet werden soll.

tfsName

Gibt den Verweisnamen des zu synchronisierenden Felds in Team Foundation an. Sie müssen ein Feld angeben, das in der Teamprojektsammlung definiert ist. Sie können alle Felder in einer Teamprojektsammlung aufführen, indem Sie den witadmin listfields-Befehl ausführen. Weitere Informationen finden Sie unter Verwalten von Arbeitsaufgabenfeldern [witadmin].

tfsMirrorName

Erforderlich. Gibt den Verweisnamen an, unter dem den Wert des Project Server-Felds in Team Foundation Server gespeichert werden soll. Sie können dem Verweisnamen "Mirror" voranstellen. Sie können z. B. Mirror.System.Title für System.Title angeben.

Hinweis

Von Ihnen angegebene Spiegelfelder werden automatisch erstellt.Sie müssen der Typdefinition einer Arbeitsaufgabe keine Spiegelfelder hinzufügen.

displayTfsField

Dies ist optional. Standardmäßig ist dieses Attribut auf true festgelegt. Wenn dieses Attribut auf true festgelegt ist, wird das Feld auf der Registerkarte Project Server des Arbeitsaufgabenformulars in Team Foundation angezeigt. Wenn dieses Attribut auf false festgelegt ist, wird das Feld nicht im Formular angezeigt. Standardmäßig werden im Formular nur die Felder Abgeschlossene Arbeit und Verbleibende Arbeit angezeigt.

displayTfsMirror

Dies ist optional. Standardmäßig ist dieses Attribut auf true festgelegt. Wenn dieses Attribut auf true festgelegt ist, wird das Feld auf der Registerkarte Project Server des Arbeitsaufgabenformulars in Team Foundation angezeigt. Wenn dieses Attribut auf false festgelegt ist, wird das Feld nicht im Formular angezeigt.

onConflict

Dies ist optional. Gibt an, wie das Synchronisierungsmodul das Verweisfeld aktualisiert. Der einzig gültige Wert ist PSWin.

Wenn dieses Attribut auf PSWin festgelegt ist und der aktuelle Wert, der aus Project Server veröffentlicht wird, vom Wert im Spiegelfeld abweicht, wird der Wert des Verweisfelds aktualisiert.

Wenn Sie dieses Attribut nicht definieren, geben Sie an, dass doppelte Buchführung verwendet werden soll. Das heißt, der Wert in Project kann vom Wert in Team Foundation abweichen. Die Werte der Felder "Titel", "Zugewiesen an", "Startdatum" und "Enddatum" werden standardmäßig immer durch die Werte in Project ersetzt. Standardmäßig wird nur für die Felder Abgeschlossene Arbeit und Verbleibende Arbeit die doppelte Buchführung verwendet. Weitere Informationen finden Sie unter Updates to Fields that Contain Hours.

tfsToTarget

Gibt den Namen des Felds in Project an, das von Team Foundation aktualisiert wird.

target

Gibt das Ziel an, das Aktualisierungen von Team Foundation empfangen soll.

provider

Gibt den Namen des Aktualisierungsanbieters an. Für tfsToTarget ist ProjectServerStatusQueue der einzige gültige Wert.

name

Gibt den Namen des Project-Felds an, das mit dem Wert in Team Foundation aktualisiert wird. In Project Server können Sie nur integrierte oder benutzerdefinierte Enterprise-Felder zuordnen. Eine Liste der verfügbaren Felder finden Sie unter Einschränkungen bei der Zuordnung von Project Server-Feldern bei der Integration von TFS-Project Server.

targetToTfs

Gibt die Feldzuordnung zum Synchronisieren von Aktualisierungen in Project Server mit Team Foundation Server an.

target

Gibt das Ziel an, das Aktualisierungen von Project Server empfangen soll.

provider

Gibt den Namen des Aktualisierungsanbieters an. Für targetToTfs ist ProjectServerPublished der einzige gültige Wert.

name

Gibt den Namen des Felds in Project an, von dem das Feld in Team Foundation aktualisiert wird. Sie können nur integrierte oder benutzerdefinierte Enterprise-Felder zuordnen. Eine Liste der verfügbaren Felder finden Sie unter Einschränkungen bei der Zuordnung von Project Server-Feldern bei der Integration von TFS-Project Server.

transforms

Dies ist optional. Containerelement für das transform-Element.

transform

transformType

Gibt den Typ der Transformation an, die auf das Feld angewendet wird. Sie können nur den transformType für ein targetToTfs und nur für numerische Feldtypen angeben. Der einzig gültige Wert ist ClearValueIfParent.

Wenn das Synchronisierungsmodul eine Hierarchie unter einer Arbeitsaufgabe erkennt, die mit Project Server synchronisiert wird, führt es ein Roll-up für die Arbeiten und Zuweisungen durch, die an Project Server gesendet werden sollen. Wenn jedoch transformType auf ClearValueIfParent festgelegt ist, löscht das Synchronisierungsmodul die Arbeitsfelder in der übergeordneten Arbeitsaufgabe in Team Foundation Server, um falsche Daten in den Team Foundation Server-Standardberichten zu vermeiden.

Standardzuordnungen

Im folgenden Code werden die Standardfeldzuordnungen aufgeführt, die definiert werden, wenn Sie den TfsAdmin ProjectServer /UploadFieldMappings-Befehl ausführen und die /useDefaultFieldMappings-Option angeben. Sie können diese Zuordnungen in eine Datei herunterladen und dieser dann Elemente hinzufügen oder die Attribute der aufgeführten Felder ändern.

Eine Liste aller Felder, die einem Typ von Arbeitsaufgabe hinzugefügt werden, wenn Sie diesen Typ in die Datensynchronisierung einbeziehen, finden Sie unter Zu TFS hinzugefügte Project Server-Felder für die Unterstützung der Datensynchronisierung.

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

Siehe auch

Referenz

Verwalten von Feldzuordnungen für die Integration von TFS-Project Server

Konzepte

Einschränkungen bei der Zuordnung von Project Server-Feldern bei der Integration von TFS-Project Server

Zu TFS hinzugefügte Project Server-Felder für die Unterstützung der Datensynchronisierung

Verwalten der Integration von Team Foundation Server und Project Server

Weitere Ressourcen

Anpassen der Feldzuordnung zwischen TFS und Project Server