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ż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ż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>
Skł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">
Skł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
Pole 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.
Uwaga
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