自訂 Project Server 與 Team Foundation Server 之間的欄位對應
若要同步處理企業專案計劃與 Team 專案之間的資料,您必須與 Visual Studio Team Foundation Server 2012 的工作項目欄位與 Microsoft Project Server 的欄位。您可以自訂欄位對應,以加入欄位並指定欄位的同步處理方式。您可以在 Project 中對應內建和自訂欄位。例如,您可以共用與排程無關的資料 (如成本中心、小組名稱或健康狀態),如果將儲存這些資料類型的欄位加入至對應。
您可以為每一個裝載要與 Project Server 同步處理的 Team 專案的 Team 專案集合,維護一組欄位對應。您必須為已對應至 Project Web Access 或 Project Web App (PWA) 執行個體的每一個 Team 專案集合定義欄位對應。您可以上載預設對應,或自訂對應檔後再加以上載。若要上載預設對應,請參閱本主題稍後的上載對應。
警告 |
---|
Team Foundation Server (TFS) 和 Project Server 整合的對應與 Microsoft Project的對應檔不同。如需詳細資訊,請參閱Microsoft Project 欄位對應檔。 |
如下圖所示,自訂對應有五個步驟:
自訂 Team Foundation Server 與 Project Server 之間的欄位對應
重要事項 |
---|
您隨時都可以視需要更新對應檔。為每個參與資料同步處理的工作項目類型更新出現在 [Project Server] 索引標籤上的欄位。您不可以手動變更 [Project Server] 索引標籤的定義。如需詳細資訊,請參閱本主題稍後的自訂 Project Server 索引標籤。 |
本主題內容
預設對應
決定其他要對應的欄位
將對應下載至檔案
更新對應
上載對應
(選擇性) 自訂 Project Server 索引標籤
注意事項 |
---|
如需示範影片,請參閱 Microsoft 網站上的下列網頁: Team Foundation Server 與 Project Server 整合的欄位對應. |
必要的使用權限
您必須將 [管理 Project Server 整合] 權限設為 [允許],才能完成本主題的程序。此外,必須授與 [管理 Project Server 整合] 給 Team Foundation Server 的服務帳戶。如需詳細資訊,請參閱指派權限以支援 Project Server 和 Team Foundation Server 的整合。
預設對應
對應會在使用者更新 Team Foundation 或 Project Server 中的資訊時決定要同步處理哪些欄位。下列每個同步處理類型都有自己的對應集:
若為發行同步處理,Project Server 中的資料會更新 Team Foundation 中的資料。您可以使用 targetToTfs 項目來指定要更新 Team Foundation 欄位的 Project Server 欄位。
若為狀態同步處理,Team Foundation 中的資料會送出至 Project Server 中的狀態佇列。您可以使用 tfsToTarget 項目來指定要更新 Project Server 狀態佇列欄位的欄位。
如需這兩種同步處理類型的詳細資訊,請參閱 用於 Team Foundation Server 和 Project Server 整合的同步處理程序概觀。
下表列出 Team Foundation 與 Project Server 之間對應的預設欄位集。工作項目類型會根據預設流程範本的欄位 TFS 也提供的資料表表示。您不應該修改這些對應,則對應至從流程範本建立以敏捷式軟體開發 (Agile Software Development v5.0 或 Capability Maturity Model Integration (CMMI) Process Improvement v5.0 的 Team 專案。如果您要對應使用 Scrum 流程範本建立的 Team 專案,您將需要進行一些修改時,本主題稍後的 執行時所需的變更對應至使用 Scrum 流程範本建立的 Team 專案 所述。
如需對應和同步處理程序的詳細資訊,請參閱 Team Foundation Server 和 Project Server 之整合的欄位對應 XML 項目參考。
Team Foundation 欄位 |
Project Server 欄位 |
狀態佇列欄位 |
在敏捷的工作項目類型 |
在 CMMI 的工作項目類型 |
在 Scrum 的工作項目類型 |
---|---|---|---|---|---|
標題 |
工作名稱 |
標題 |
全部 |
全部 |
全部 |
指派給 |
資源 |
資源 |
全部 |
全部 |
全部 |
已完成工作 |
任務實際工時 |
資源實際工時 |
工作 |
工作 |
None |
剩餘工作 |
任務剩餘工時 |
資源剩餘工時 |
工作 |
工作 |
工作 |
原始評估 |
基準工作 |
|
工作 |
Bug、變更要求、問題、需求、風險和工作 |
None |
開始日期 |
任務開始日期 |
資源開始日期 |
工作和使用者劇本 |
工作和需求 |
None |
完成日期 |
任務完成日期 |
資源完成日期 |
工作和使用者劇本 |
工作和需求 |
None |
回到頁首
執行時所需的變更對應至使用 Scrum 流程範本建立的 Team 專案
您必須啟用從使用 Scrum 2.0 或 Scrum 1.0 流程範本建立的 Team 專案的資料流的兩項變更。您必須自行加入完成工作和原始評估欄位加入至工作項目類型,因此,您必須移除對剩餘工作欄位是空項目,當小組成員將狀態變更為 [認可] 或 [移除] 時。
更新 Scrum 工作類型定義
開啟 Visual Studio 或 Team 總管安裝的命令提示字元視窗並輸入:
cd %programfiles%\Microsoft Visual Studio 11.0\Common7\IDE
在 Windows 64 位元版本中,將 %programfiles% 取代為 %programfiles(x86)%。
若要匯出工作的型別定義,請輸入下列命令,以您的資料是顯示在這裡的引數,其中 CollectionURL 指定 Team 專案集合的 URL, ProjectName 指定集合內定義的 Team 專案名稱,然後, 「DirectoryPath \ FileName.xml」指定名稱和位置以檔案可以匯出。接著選取 [輸入]。
witadmin exportwitd /collection: /p:"ProjectName" /n:"Task" /f:"DirectoryPath\FileName.xml"
在文字編輯器 (或在 Visual Studio 中,開啟您要匯出的檔案。
在 FIELDS 定義的區段內,請在剩餘工作的項目之前將這個程式碼片段:
<FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum"> <HELPTEXT>The number of units of work that have been spent on this task</HELPTEXT> </FIELD> <FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum"> <HELPTEXT>Initial value for Remaining Work - set once, when work begins. </HELPTEXT> </FIELD>
在 <WORKFLOW> 區段內,從 <STATE value="Done"> 和 <STATE value="Removed"> 定義移除下列程式碼片段:
<FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork"> <EMPTY /> </FIELD>
在 <FORM> 區段內,加入下列項目: Control
<Control FieldName="Microsoft.VSTS.Scheduling.OriginalEstimate" Type="FieldControl" Label="Original Estimate:" LabelPosition="Left" /> <Control FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Type="FieldControl" Label="Completed:" LabelPosition="Left" />
儲存並關閉檔案。
匯入檔案,替換成您的資料並將顯示的引數。
witadmin importwitd /collection: /p:"ProjectName" /f:"DirectoryPath\FileName.xml"
重新整理您的 Team 專案或工作項目頁面驗證變更。
如需詳細資訊,請參閱從現有專案匯出和匯入工作項目類型、定義工作項目欄位和設計和自訂工作項目表單。
回到頁首
決定其他要對應的欄位
除了預設欄位外,還要為每個要同步處理的欄位決定下列資訊:
Team Foundation 欄位的參考名稱。如果要將 Project Server 欄位與必須在 Team Foundation 中建立的欄位同步處理,請先在每個要同步處理的工作項目類型中建立欄位。如需詳細資訊,請參閱Visual Studio ALM 的工作項目欄位參考與定義工作項目欄位。
將更新 Team Foundation 欄位的 Project Server 欄位名稱。如需可用欄位的清單,請參閱對應 Project Server 欄位以與 Team Foundation Server 整合的限制。
要在 Project Server 中更新之欄位的名稱,以及 Project Server 中將更新 Team Foundation Server 中鏡像欄位之欄位的名稱值將會更新。
是否要在工作項目表單上顯示欄位。您可以針對想要顯示在工作項目表單上的欄位,將 displayTfsField 屬性的值設定為 true。您可以針對工作項目表單,將 displayTfsMirror 屬性的值設定為 true。
是否要允許 Team Foundation 欄位的值覆寫 Project Server 欄位的值以解決資料衝突,或同時維持兩個值。此決定會確定 onConflict 屬性的值。設定 onConflict=”PsWins” 時,Project Server 中欄位的值會覆寫 Team Foundation 中欄位的值。如需詳細資訊,請參閱Field Elements and Attributes。
其他必須用來定義以支援挑選清單或自訂 Project Server 查閱資料表的值。
回到頁首
可對應資料的限制
在您決定要對應的欄位之後,請注意下列限制:
您只能從 Project Server 傳送工作層級資訊 (pjTask* 欄位) 至 Team Foundation Server。
您只能從 Team Foundation Server 傳送資源層級資訊 (pjResource* 欄位) 至 Project Server 的狀態佇列。
[標題] 欄位是唯一可以同時傳送至 Team Foundation Server 和狀態佇列的欄位。
系統會自動計算 [指派給]、[已完成工作] 和 [剩餘工作] 欄位的彙總。您無法對應額外的欄位,並且計算這些欄位的彙總。如需詳細資訊,請參閱使用對應至 Team 專案之企業專案中的資源彙總。
您必須確定對應的每個欄位的資料型別或單位,符合標準和自訂企業欄位的欄位對應準則。如需詳細資訊,請參閱對應 Project Server 欄位以與 Team Foundation Server 整合的限制中的<資料型別和欄位對應準則>。
您可以對應與 Team Foundation 中挑選清單相關聯的欄位。不過,您必須在 Project Server 中建立查閱資料表以符合挑選清單。您無法自動同步處理挑選清單與查閱資料表。
如需詳細資訊,請參閱對應 Project Server 欄位以與 Team Foundation Server 整合的限制。
回到頁首
範例:對應要在 Project 中顯示的小組名稱
在下列範例中, Team Foundation的自訂資料欄位, MyCompany.MyOrg.DevTeamName,對應至專案的企業自訂文字欄位 Server, My Company 小組名稱。您可以使用這個範例在 Project Professional 中顯示與工作相關聯的小組名稱。
<field tfsName="MyCompany.MyOrg.DevTeamName" tfsMirrorName="Mirror.MyCompany.MyOrg.DevTeamName" displayTfsField="false" displayTfsMirror="false" onConflict="DoNothing">
<tfsToTarget>
<target provider="ProjectServerStatusQueue" name=" My Company Team Name" />
</tfsToTarget>
<targetToTfs>
<target provider="ProjectServerPublished" name=" My Company Team Name" />
</targetToTfs>
</field>
兩個欄位都不會出現在工作項目表單上。再者,如果值不相符,每個欄位會保留自己的值。
回到頁首
範例:在 Project 中顯示區域和反覆項目路徑
您可以對應 Team Foundation 中的 [區域] (System.AreaPath) 和 [反覆項目] (System.IterationPath) 欄位,讓它們顯示在專案計劃中。由於這些樹狀路徑欄位會經常變更,因此您應該將它們對應為 Project 中的文字欄位。使用這些欄位的專案管理人員必須手動輸入完整的區域路徑或反覆項目路徑。
重要事項 |
---|
目前的 Team Foundation Server 和 Project Server 整合實作不支援自動同步處理這些項目:為這兩項伺服器產品之對應欄位所定義的允許值清單、挑選清單、全域清單或樹狀路徑清單。為獲得最佳經驗,您必須在專案計劃中手動輸入符合 Team Foundation 的項目。如果您指定的項目無效,則會在您發行計劃時出現驗證對話方塊。 |
若要將 [區域] 和 [反覆項目] 欄位加入至專案計劃,請執行下列動作:
將兩個客戶企業欄位加入至 Project Server,並且將它們標記為 [區域 (TFS)] 和 [反覆項目 (TFS)]。
如需詳細資訊,請參閱 Microsoft 網站上的下列網頁:建立查閱資料表和企業自訂欄位 (英文)。
從 Team 專案所在的 Team 專案集合匯出欄位對應。
如需詳細資訊,請參閱本主題稍後的將對應下載至檔案。
將下列程式碼加入至該檔案中:
<field tfsName="System.AreaPath" tfsMirrorName="Mirror.System.AreaPath" displayTfsField="true" displayTfsMirror="true"> <tfsToTarget> <target provider="ProjectServerStatusQueue" name="Area (TFS)" /> </tfsToTarget> <targetToTfs> <target provider="ProjectServerPublished" name="Area (TFS)" /> </targetToTfs> </field> <field tfsName="System.IterationPath" tfsMirrorName="Mirror.System.IterationPath" displayTfsField="true" displayTfsMirror="true"> <tfsToTarget> <target provider="ProjectServerStatusQueue" name="Iteration (TFS)" /> </tfsToTarget> <targetToTfs> <target provider="ProjectServerPublished" name="Iteration (TFS)" /> </targetToTfs> </field>
匯入更新的欄位對應檔,如本主題稍後的上載對應所述。
將您的專案計劃與 Project Server 同步處理。
在您的專案計劃中,針對新欄位 [區域 (TFS)] 和 [反覆項目 (TFS)] 加入兩個新資料行。
對 Team Foundation 中 [區域] 和 [反覆項目] 欄位所做的變更,將會同步處理至您專案計劃中的這些欄位。如果您指定已在 Team Foundation 中定義的值,還可以更新 Project 中的這些欄位,並且將變更發行至 Team Foundation。
回到頁首
將對應下載至檔案
注意事項 |
---|
您只能從已上載的 Team 專案集合下載對應。如果您要將預設對應下載至檔案,必須先上載預設對應,如本主題稍後的若要上載預設對應所述。或者,您可以複製預設對應的內容。如需詳細資訊,請參閱Default Field Mappings。 |
若要將對應下載至檔案
若要執行 [TfsAdmin] 命令列工具,請開啟 Visual Studio 或 Team Explorer 安裝和輸入的命令提示字元視窗:
cd %programfiles%\Microsoft Visual Studio 11.0\Common7\IDE
在 Windows 64 位元版本中,將 %programfiles% 取代為 %programfiles(x86)%.。
輸入下列命令,然後按 ENTER。
TfsAdmin ProjectServer /DownloadFieldMappings /collection:tpcUrl /filePath:MappingFile
將 tpcUrl 取代為 Team 專案集合的統一資源定位器 (URL),並且將 MappingFile 取代為將自訂的檔案之路徑和名稱。
請等候下列訊息出現:
正在將MappingFile下載至 Team 專案集合tpcUrl。
您已經將欄位對應檔案MappingFile成功下載至 Team 專案集合tpcUrl。
回到頁首
更新對應
為每個要加入對應檔中的欄位,指定 field 項目及其子項目和屬性。如需詳細資訊,請參閱Team Foundation Server 和 Project Server 之整合的欄位對應 XML 項目參考。
回到頁首
上載對應
您要使用 UploadFieldMappings 命令上載對應。您可以使用 /usedefaultfieldmapping 選項上載預設對應,否則必須指定一個包含對應項目的檔案。
若要上載預設對應
在命令提示字元中輸入下列命令,然後按 ENTER:
TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /usedefaultfieldmappings
將 tpcUrl 取代成 Team 專案集合的 URL。
請等候下列訊息出現:
正在將預設欄位對應上傳至CollectionUri。
您已經將欄位對應成功上傳至集合CollectionUri。
若要從檔案上載對應
在命令提示字元中輸入下列命令,然後按 ENTER:
TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /filePath:MappingFile /force
將 tpcUrl 取代為 Team 專案集合的 URL,並且將 MappingFile 取代為自訂對應檔的路徑和名稱。如果您要更新現有對應,請指定 /force。
請等候下列訊息出現:
正在將MappingFile上傳至 Team 專案集合tpcUrl。
您已經將欄位對應檔案MappingFile成功上傳至 Team 專案集合tpcUrl。
回到頁首
自訂 Project Server 索引標籤
當您將企業專案計劃與 Team 專案產生關聯時,[Project Server] 索引標籤會加入至工作項目表單,如下圖所示。這個索引標籤只會加入至您指定參與資料同步處理的工作項目類型中。您可以針對想要顯示在表單上的這些欄位,將 displayTfsField 或 displayTfsMirror 屬性設定為 true,藉以自訂這個索引標籤。
Project Server 索引標籤
重要事項 |
---|
為 Team 專案集合定義的欄位對應會決定出現在 [Project Server] 索引標籤上的欄位。將這個索引標籤加入至 Team 專案的工作項目類型之後,您可以透過修改集合的欄位對應來加以更新。如果您將欄位加入至 [Project Server] 索引標籤或變更它在表單上的位置,藉以手動自訂工作項目表單,未來您對欄位對應進行變更時,此索引標籤可能不會自動更新。如果發生這種情況,您可以手動修改索引標籤。如需詳細資訊,請參閱新增至工作項目類型定義的 XML 項目。 |
如需每個出現在 [Project Server] 索引標籤上之預設欄位的詳細資訊,請參閱加入以支援資料同步處理的 Project Server 欄位。
回到頁首
請參閱
工作
設定 Team Foundation Server 和 Project Server 的整合