Udostępnij za pośrednictwem


Pole mapowania Odwołanie Element XML dla integracji Team Foundation Server i Project Server

Dostosowując mapowania pól, można określić, które pola w Visual Studio Team Foundation Server 2012 i serwera Microsoft Project Server powinien być synchronizowany, a pola, które są aktualizowane w kolejkę stanu dla serwera Microsoft Project Server i w Team Foundation.

[!UWAGA]

Mapowania pól dla integracji Team Foundation Server z serwera Project Server różnią się od pliku mapowania dla Microsoft Project.Informacje te ostatnie pliku, zobacz Plik mapowania pola Microsoft Project.

Możesz zachować jeden zestaw mapowania pól dla każdej kolekcji projektu zespołu, że hosty zespół projektów, które chcesz zsynchronizować z serwerem Project Server.Aby pobrać mapowania pól, można pobrać je w pliku z kolekcji.Po zmodyfikowaniu pliku, można go przekazać do kolekcji, a zmiany zostaną zastosowane do wszystkich projektów zespołu, które są zdefiniowane dla tej kolekcji.Aby uzyskać więcej informacji na temat sposobu pobierania lub przekazywania mapowania pól, zobacz Dostosowywanie mapowania pól między programami Team Foundation Server i Project Server.

W tym temacie

  • Pola wymagane

  • Domyślne pola, które są mapowane

  • Mapowanie elementów i atrybutów

  • Domyślne mapowania pól

Pola wymagane

Następujące pola musi być mapowany do obsługi synchronizacji danych.Jeśli dostosowanych pól, które są używane do planowania pracy, należy dostosować mapowania pól, aby odwoływać się do pól, których używasz.

  • System.Title musi być mapowany do pjTaskName.

  • System.AssignedTo musi być mapowany do pjResourceNames.

  • Pole, które służy do śledzenia prac w Team Foundation musi być mapowany do pjTaskStart.Domyślnie to pole jest Microsoft.VSTS.Scheduling.StartDate.

  • Pole, które służy do śledzenia zakończonych pracy w Team Foundation musi być mapowany do pjTaskFinish.Domyślnie to pole jest Microsoft.VSTS.Scheduling.FinishDate.

Powrót do początku

Domyślne pola, które są mapowane

Dla każdego pola w Team Foundation, można określić dwa mapowania.W pierwszym mapowanie, należy określić pola w projekt w polu w Team Foundation aktualizacje w kolejkę stanu.W drugim mapowanie, należy określić pola w programie Project, który aktualizuje pola w Team Foundation.Ponadto można określić czy pole w Team Foundation pojawia się formularza elementu pracy i jak aktualizacje są wykonane, aby odwołać i dublowanych pól.

Domyślnie, wszystkie pola projektu, które są mapowane są również dublowane, co oznacza, że ich wartości są przechowywane w Team Foundation.

Ważna uwagaWażne

W większości konfiguracji nie należy usuwać domyślne mapowania pól, ponieważ proces synchronizacji wymaga od nich.Na przykład nie usuwaj domyślne mapowania Jeśli planu projektu w przedsiębiorstwie jest mapowany do zespołu projektu, który został utworzony z szablonu procesu, który jest oparty na albo Microsoft Solutions Framework (MSF) dla Agile Software Development lub poprawy zdolności dojrzałości Model integracji (CMMI) procesu.

Jednakże, jeśli plan mapy do zespołu projektu, który został utworzony za pomocą Visual Studio szablonu procesu Scrum, konieczne może być usunięcie niektórych domyślne mapowania.Jeśli w Twojej kolekcji projektu zawiera tylko projektów zespołów, które zostały utworzone przy użyciu szablonu Scrum, może wystąpić błąd podczas konfigurowania serwera dwóch produktów.Aby uzyskać najlepsze wyniki należy dodać ukończyć pracy (Microsoft.VSTS.Scheduling.CompletedWork) i oryginalnego oszacowania (Microsoft.VSTS.Scheduling.OriginalEstimate) do elementów pracy, które chcesz mapować.Ponadto trzeba będzie do usunięcia <EMPTY /> instrukcji przepływu pracy do zadania wpisz definicję.Aby uzyskać więcej informacji, zobacz Wymagane zmiany i zrobić podczas mapowania do zespołu projektu że został utworzony z Scrum szablonu procesu.

W poniższej tabeli przedstawiono domyślne mapowania, które są przypisane do pola w Team Foundation.Można określić jak ma odwołanie i dublować pola mają być aktualizowane.Można ustawić OnConflict do PSWins Aby zastąpić tę wartość w Team Foundation z wartością z serwera Project Server.Jeśli zostawisz OnConflict określony atrybut, pola utrzymać różne wartości.Aby uzyskać więcej informacji, przejrzyj pole elementy i atrybuty tabeli w dalszej części tego tematu.

Aby uzyskać więcej informacji na temat pól dublowanych i proces synchronizacji, zobacz Zasady zarządzania aktualizacjami określonych pól.

Team Foundationpole

Pola projektu

Pole wyświetlane na karcie Project Server formularza elementu pracy (displayTfsField)

Pole dublowane wyświetlane na karcie Project Server formularza elementu pracy (displayTfsMirror)

W polu aktualizacje (OnConflict)

Tytuł

Nazwa zadania

Nr

Nr

Wartość w programie Project Server zastępuje wartości w Team Foundation.

Przypisane do

Zasoby

Nr

Nr

Wartość w programie Project Server zastępuje wartości w Team Foundation.

Praca pozostała

Zasób, pozostała praca (stan kolejki)

Zadanie pozostałą pracę (serwer Project Server)

Tak

Tak

Każda wartość jest przechowywana.

Praca wykonana

Zasób pracy rzeczywistej (stan kolejki)

Zadanie pracy rzeczywistej (serwer Project Server)

Tak

Tak

Każda wartość jest przechowywana.

Oryginalnego oszacowania

Praca według planu bazowego

Nr

Tak

Wartość w programie Project Server zastępuje wartości w Team Foundation.

Data rozpoczęcia

Rozpoczęcie pracy zasobu (stan kolejki)

Rozpoczęcie zadania (serwer Project Server)

Nr

Nr

Wartość w programie Project Server zastępuje wartości w Team Foundation.

Data zakończenia

Zakończ zasobów (stan kolejki)

Zakończenie zadania (serwer Project Server)

Nr

Nr

Wartość w programie Project Server zastępuje wartości w Team Foundation.

Można wyświetlić więcej pól projektu na Serwera Project Server kartę z formularza elementu pracy w Team Foundation po dodaniu ich do mapowania pól.Aby uzyskać więcej informacji o tej karcie, zobacz Pola programu Project Server jest dodawane do obsługi synchronizacji danych.

Powrót do początku

Mapowanie elementów i atrybutów

Możesz użyć field element, aby określić pole odwołanie w Team Foundation do synchronizacji.Wszystkie field elementy są zawarte w mappingFile, persistables, i Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping elementy kontenera.

Ważna uwagaWażne

Podczas mapowania pól z Team Foundation Server na serwerze Project Server, upewnij się, być zgodne z typami danych w tych pól.W przeciwnym razie następującego błędu mogą pojawić się podczas próby przekazania mapowania pól:

Indeks (wartości początkowej zero) musi być większa lub równa zero i mniejszą niż rozmiar listy argumentów.

Aby uzyskać więcej informacji, zobacz Data Types and Field Mapping Criteria.

Poniższy przykład pokazuje strukturę zagnieżdżenia elementów XML.Aby wyświetlić domyślne mapowania, zobacz Domyślne mapowania plik później w tym temacie.

<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(pl-pl,VS.110).gifSkładnia elementu pola

Następująca składnia definiuje atrybuty field element:

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

Gg412657.collapse_all(pl-pl,VS.110).gifSkładnia elementu docelowego

Następująca składnia definiuje atrybuty target element:

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

Aby określić nazwę pola, prefiks uzyskiwanej przyjaznej nazwy "pj".Na przykład nazwa pola dla Menedżera stanu jest pjStatusManager, a nazwa pola niestandardowego 01 jest pjCustom01.

Powrót do początku

Gg412657.collapse_all(pl-pl,VS.110).gifPole elementy i atrybuty

W poniższej tabeli opisano podelementy i atrybuty field element.Mapowania Team Foundation pola do projektu zasobów pole, którego wartość chcesz zaktualizować podczas synchronizacji stanu.Mapowania Team Foundation pola do pola zadania projektu, którego wartość będzie zaktualizować Team Foundation Server podczas publikowania synchronizacji.Również jednostek pola, które można mapować musi spełniać ustanowione kryteria.Aby uzyskać więcej informacji, zobacz Ograniczenia dotyczące mapowania pól programu Project Server do integracji z Team Foundation Server.

Element

Atrybut

Opis

field

Określa pole w Team Foundation być mapowane i jak mapowane pola.

tfsName

Określa nazwę odwołania, pola w Team Foundation do synchronizacji.Należy określić pola, która jest zdefiniowana w kolekcji zespołu projektu.Można wyświetlić wszystkie pola w kolekcji, uruchamiając witadmin listfields polecenia.Aby uzyskać więcej informacji, zobacz Zarządzanie polami elementów pracy [witadmin].

tfsMirrorName

Wymagane.Określa nazwę odniesienia w obszarze do przechowywania wartości pola programu Project Server w Team Foundation Server.Można prefiks nazwy odniesienia "Lustro." Na przykład można określić Mirror.System.Title dla System.Title.

UwagaUwaga
Pola Lustro określone są tworzone automatycznie.Nie trzeba dodać pola dublowania do definicji typu elementu pracy.

displayTfsField

Opcjonalne.Domyślnie ten atrybut jest ustawiony na true.Jeśli ten atrybut jest ustawiony na true, to pole jest wyświetlane na Serwera Project Server karcie formularza elementu pracy w Team Foundation.Jeśli ten atrybut jest ustawiony na false, nie ma pola w formularzu.Domyślnie w formularzu są wyświetlane tylko pola zakończona praca i Praca pozostała.

displayTfsMirror

Opcjonalne.Domyślnie ten atrybut jest ustawiony na true.Jeśli ten atrybut jest ustawiony na true, to pole jest wyświetlane na Serwera Project Server karcie formularza elementu pracy w Team Foundation.Jeśli ten atrybut jest ustawiony na false, nie ma pola w formularzu.

onConflict

Opcjonalne.Określa, jak aparat synchronizacji aktualizuje pole odwołania.Tylko prawidłowe wartości to PSWin.

Gdy ten atrybut jest ustawiony na PSWin, wartość pola odniesienia jest aktualizowany, gdy bieżącą wartość, która jest publikowana z serwera Project Server różni się od wartości w lustrze.

Jeśli ten atrybut nie jest zdefiniowana, wskazują że dwa zestawy książek powinny zostać utrzymane.Innymi słowy, wartość w projekcie może różnić się od wartości w Team Foundation.Domyślnie wartości w projekcie zawsze zastąpić wartości pól tytuł, przydzielone do, Data rozpoczęcia i Data zakończenia.Domyślnie tylko pola zakończona praca i Praca pozostała są utrzymywane dwa zestawy książek.Aby uzyskać więcej informacji, zobacz Aktualizacje do pola zawierające godzin.

tfsToTarget

Określa nazwę pola w projekt, który Team Foundation spowoduje aktualizację.

target

Określa miejsce docelowe, aby otrzymywać aktualizacje z Team Foundation.

provider

Określa nazwę dostawcy aktualizacji.Dla tfsToTarget, tylko prawidłowe wartości to ProjectServerStatusQueue.

name

Określa nazwę pola projektu, które zostaną zaktualizowane wartości w Team Foundation.Można mapować tylko wbudowane lub przedsiębiorstwo pól niestandardowych w programie Project Server.Aby uzyskać listę dostępnych pól, zobacz Fields Available for Mapping to the Status Queue.

targetToTfs

Określa mapowanie pola zsynchronizować aktualizacji w programie Project Server z Team Foundation Server.

target

Określa miejsce docelowe, aby otrzymywać aktualizacje z serwera Project Server.

provider

Określa nazwę dostawcy aktualizacji.Dla targetToTfs, tylko prawidłowe wartości to ProjectServerPublished.

name

Określa nazwę pola w programie Project, która zaktualizuje pola w Team Foundation.Można mapować tylko wbudowane lub przedsiębiorstwo pól niestandardowych.Aby uzyskać listę dostępnych pól, zobacz Fields Available for Mapping from Project Server to Team Foundation Only.

transforms

Opcjonalne.Kontener transform element.

transform

transformType

Określa typ transformacji do zastosowania do pola.Można określić tylko transformType dla targetToTfs i tylko dla typów pole liczbowe.Tylko prawidłowe wartości to ClearValueIfParent.

Gdy aparat synchronizacji wykrywa hierarchii w obszarze elementu pracy, który jest synchronizowany z programem Project Server, wykonuje roll-up do pracy i przypisania do wysyłania do serwera Project Server.Jednakże, z transformType ustawiona na ClearValueIfParent, aparat synchronizacji powoduje wyczyszczenie pól Praca nadrzędny element pracy w Team Foundation Server w celu uniknięcia nieprawidłowych danych w standardzie Team Foundation Server raportów.

Powrót do początku

Domyślne mapowania

Następujący kod przedstawiono domyślne mapowania pola, które są zdefiniowane, po uruchomieniu TfsAdmin ProjectServer /UploadFieldMappings polecenia i określić /useDefaultFieldMappings opcji.Można pobrać te mapowania do pliku i następnie dodać elementy do niego lub modyfikować atrybuty wymienionych pól.

Aby uzyskać listę wszystkich pól, które są dodawane do typu elementu pracy, po dodaniu typu do udziału w synchronizacji danych, zobacz Pola programu Project Server jest dodawane do obsługi synchronizacji danych.

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

Powrót do początku

Zobacz też

Informacje

Zarządzanie mapowaniami pól integracji programów Team Foundation Server i Project Server

Koncepcje

Ograniczenia dotyczące mapowania pól programu Project Server do integracji z Team Foundation Server

Pola programu Project Server jest dodawane do obsługi synchronizacji danych

Administrowanie integracji programów Team Foundation Server i Project Server

Inne zasoby

Dostosowywanie mapowania pól między programami Team Foundation Server i Project Server