共用方式為


自訂 Project Server 與 Team Foundation Server 之間的欄位對應

若要同步處理企業專案計劃與 Team 專案之間的資料,您必須將 Visual Studio Team Foundation Server 2010 中的工作項目欄位與 Microsoft Project Server 2007 或 Project Server 2010 中的欄位產生關聯。 您可以自訂欄位對應,以加入欄位並指定欄位的同步處理方式。 您可以在 Project 中對應內建和自訂欄位。 例如,您可以共用與排程無關的資料 (如成本中心、小組名稱或健康狀態),如果將儲存這些資料類型的欄位加入至對應。

您可以為每一個裝載要與 Project Server 同步處理的 Team 專案的 Team 專案集合,維護一組欄位對應。 您必須為已對應至 Project Web Access 或 Project Web App (PWA) 執行個體的每一個 Team 專案集合定義欄位對應。 您可以上載預設對應,或自訂對應檔後再加以上載。 若要上載預設對應,請參閱本主題稍後的上載對應。

警告

Team Foundation Server 與 Project Server 整合的對應與 Microsoft Project 的對應檔不同。 如需詳細資訊,請參閱 Microsoft Project 欄位對應檔

如下圖所示,自訂對應有五個步驟:

自訂 Team Foundation Server 與 Project Server 之間的欄位對應

自訂 PS-TFS 欄位對應的工作流程

重要事項重要事項

您隨時都可以視需要更新對應檔。 為每個參與資料同步處理的工作項目類型更新出現在 [Project Server] 索引標籤上的欄位。 您不可以手動變更 [Project Server] 索引標籤的定義。 如需詳細資訊,請參閱本主題稍後的自訂 Project 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 之間對應的預設欄位集。 此表格還會根據 Microsoft Solutions Framework (MSF) 的三個專案範本,指出使用這些欄位的工作項目類型。 如果您要對應的 Team 專案是使用 Agile Software Development v5.0 或 Capability Maturity Model Integration (CMMI) Process Improvement v5.0 為基礎的流程範本所建立,則不應該修改這些對應。 如果您要對應的 Team 專案是使用 Scrum 1.0 流程範本建立的,則需要進行一些修改,如本主題稍後的對應至使用 Scrum 1.0 流程範本建立的 Team 專案時修改欄位對應一節所述。

如需對應和同步處理程序的詳細資訊,請參閱 Team Foundation Server 和 Project Server 之整合的欄位對應 XML 項目參考

Team Foundation 欄位

Project Server 欄位

狀態佇列欄位

Agile 5.0 的工作項目類型

CMMI 5.0 的工作項目類型

Scrum 1.0 的工作項目類型

標題

工作名稱

標題

全部

全部

期程 (Sprint) 以外的所有項目

指派給

資源

資源

全部

全部

期程以外的所有項目

已完成工作

任務實際工時

資源實際工時

工作

工作

剩餘工作

任務剩餘工時

資源剩餘工時

工作

工作

工作

原始評估

基準工作

基準工作

工作

Bug、變更要求、問題、需求、風險和工作

開始日期

任務開始日期

資源開始日期

工作和使用者本文

工作和需求

期程

完成日期

任務完成日期

資源完成日期

工作和使用者本文

工作和需求

期程

回到頁首

對應至使用 Scrum 1.0 流程範本建立的 Team 專案時加入欄位至工作項目類型

由於 Scrum 1.0 流程範本不會使用 [已完成工作] 和 [原始評估] 欄位,因此您必須將這些欄位加入至想要參與資料同步處理的工作項目類型。 例如,您可以將未使用的欄位加入至工作項目的工作類型。

若要加入這些欄位,您必須從 Team 專案匯出工作項目的工作類型,然後針對每個欄位,在 FIELDS 區段中加入 FIELD 項目。 您也可以在 FORM 區段中加入 Control 項目。 您可以加入下列 FIELD 項目:

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

您也可以加入下列 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" />

如需詳細資訊,請參閱從現有專案匯出和匯入工作項目類型定義工作項目欄位設計和自訂工作項目表單

回到頁首

決定其他要對應的欄位

除了預設欄位外,還要為每個要同步處理的欄位決定下列資訊:

  • Team Foundation 欄位的參考名稱。 如果要將 Project Server 欄位與必須在 Team Foundation 中建立的欄位同步處理,請先在每個要同步處理的工作項目類型中建立欄位。 如需詳細資訊,請參閱使用系統欄位和 MSF 流程範本所定義的欄位定義工作項目欄位

  • 將更新 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 項目和屬性

  • 其他必須用來定義以支援挑選清單或自訂 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] 會對應至 Project Server 中的企業自訂文字欄位 [pjMyCompanyTeamName]。 您可以使用這個範例在 Project Professional 中顯示與工作相關聯的小組名稱。

<field tfsName="MyCompany.MyOrg.DevTeamName" tfsMirrorName="Mirror.MyCompany.MyOrg.DevTeamName" displayTfsField="false" displayTfsMirror="false" onConflict="DoNothing">
   <tfsToTarget>
   v<target provider="ProjectServerStatusQueue" name=" pjMyCompanyTeamName" />
   </tfsToTarget>
   <targetToTfs>
      <target provider="ProjectServerPublished" name=" pjMyCompanyTeamName" />
   </targetToTfs>
</field>

兩個欄位都不會出現在工作項目表單上。 再者,如果值不相符,每個欄位會保留自己的值。

回到頁首

範例:在 Project 中顯示區域和反覆項目路徑

您可以對應 Team Foundation 中的 [區域] (System.AreaPath) 和 [反覆項目] (System.IterationPath) 欄位,讓它們顯示在專案計劃中。 由於這些樹狀路徑欄位會經常變更,因此您應該將它們對應為 Project 中的文字欄位。 使用這些欄位的專案管理人員必須手動輸入完整的區域路徑或反覆項目路徑。

重要事項重要事項

目前的 Visual Studio Team Foundation Server 2010 和 Project Server 整合實作不支援自動同步處理這些項目:為這兩項伺服器產品之對應欄位所定義的允許值清單、挑選清單、全域清單或樹狀路徑清單。 為獲得最佳經驗,您必須在專案計劃中手動輸入符合 Team Foundation 的項目。 如果您指定的項目無效,則會在您發行計劃時出現驗證對話方塊。

若要將 [區域] 和 [反覆項目] 欄位加入至專案計劃,請執行下列動作:

  1. 將兩個客戶企業欄位加入至 Project Server,並且將它們標記為 [區域 (TFS)] 和 [反覆項目 (TFS)]。

    如需詳細資訊,請參閱 Microsoft 網站上的下列網頁:建立查閱資料表和企業自訂欄位 (英文)。

  2. 從 Team 專案所在的 Team 專案集合匯出欄位對應。

    如需詳細資訊,請參閱本主題稍後的將對應下載至檔案。

  3. 將下列程式碼加入至該檔案中:

    <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="false" displayTfsMirror="false">
            <tfsToTarget>
              <target provider="ProjectServerStatusQueue" name="Iteration (TFS)" />
            </tfsToTarget>
            <targetToTfs>
              <target provider="ProjectServerPublished" name="Iteration (TFS)" />
            </targetToTfs>
          </field>
    
  4. 匯入更新的欄位對應檔,如本主題稍後的上載對應所述。

  5. 將您的專案計劃與 Project Server 同步處理。

  6. 在您的專案計劃中,針對新欄位 [區域 (TFS)] 和 [反覆項目 (TFS)] 加入兩個新資料行。

對 Team Foundation 中 [區域] 和 [反覆項目] 欄位所做的變更,將會同步處理至您專案計劃中的這些欄位。 如果您指定已在 Team Foundation 中定義的值,還可以更新 Project 中的這些欄位,並且將變更發行至 Team Foundation。

回到頁首

將對應下載至檔案

注意事項注意事項

您只能從已上載的 Team 專案集合下載對應。 如果您要將預設對應下載至檔案,必須先上載預設對應,如本主題稍後的若要上載預設對應所述。 或者,您可以複製預設對應的內容。 如需詳細資訊,請參閱預設對應檔

若要將對應下載至檔案

  1. 在執行 Team 總管和 Visual Studio Team Foundation Server 2010 Service Pack 1 的電腦上開啟 [命令提示字元] 視窗,然後變更至包含 TFSAdmin 命令列工具的目錄。

    工具預設位於 Drive:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE 中。 若是 64 位元電腦,此工具位於 Drive:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE。

  2. 在命令提示字元中輸入下列命令,然後按 Enter。

    TfsAdmin ProjectServer /DownloadFieldMappings /collection:tpcUrl /filepath:MappingFile 
    

    將 tpcUrl 取代為 Team 專案集合的統一資源定位器 (URL),並且將 MappingFile 取代為將自訂的檔案之路徑和名稱。

  3. 請等候下列訊息出現:

    正在將 MappingFile 下載至 Team 專案集合 tpcUrl。

    您已經將欄位對應檔案 MappingFile 成功下載至 Team 專案集合 tpcUrl。

回到頁首

更新對應

為每個要加入對應檔中的欄位,指定 field 項目及其子項目和屬性。 如需詳細資訊,請參閱 Team Foundation Server 和 Project Server 之整合的欄位對應 XML 項目參考

回到頁首

上載對應

您要使用 UploadFieldMappings 命令上載對應。 您可以使用 /usedefaultfieldmapping 選項上載預設對應, 否則必須指定一個包含對應項目的檔案。

若要上載預設對應

  1. 在命令提示字元中輸入下列命令,然後按 Enter。

    TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /usedefaultfieldmappings
    

    將 tpcUrl 取代成 Team 專案集合的 URL。

  2. 請等候下列訊息出現:

    正在將預設欄位對應上傳至 CollectionUri。

    您已經將欄位對應成功上傳至集合 CollectionUri。

若要從檔案上載對應

  1. 在命令提示字元中輸入下列命令,然後按 ENTER:

    TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /filepath:MappingFile /force
    

    將 tpcUrl 取代為 Team 專案集合的 URL,並且將 MappingFile 取代為自訂對應檔的路徑和名稱。 如果您要更新現有對應,請指定 /force

  2. 請等候下列訊息出現:

    正在將 MappingFile 上傳至 Team 專案集合 tpcUrl。

    您已經將欄位對應檔案 MappingFile 成功上傳至 Team 專案集合 tpcUrl。

回到頁首

自訂 Project Server 索引標籤

當您將企業專案計劃與 Team 專案產生關聯時,[Project Server] 索引標籤會加入至工作項目表單,如下圖所示。 這個索引標籤只會加入至您指定參與資料同步處理的工作項目類型中。 您可以針對想要顯示在表單上的這些欄位,將 displayTfsField 或 displayTfsMirror 屬性設定為 true,藉以自訂這個索引標籤。

Project Server 索引標籤

[Project Server] 索引標籤預設欄位

重要事項重要事項

為 Team 專案集合定義的欄位對應會決定出現在 [Project Server] 索引標籤上的欄位。 將這個索引標籤加入至 Team 專案的工作項目類型之後,您可以透過修改集合的欄位對應來加以更新。 如果您將欄位加入至 [Project Server] 索引標籤或變更它在表單上的位置,藉以手動自訂工作項目表單,未來您對欄位對應進行變更時,此索引標籤可能不會自動更新。 如果發生這種情況,您可以手動修改索引標籤。

如需每個出現在 [Project Server] 索引標籤上之預設欄位的詳細資訊,請參閱加入以支援資料同步處理的 Project Server 欄位

回到頁首

請參閱

其他資源

指定可同步處理的工作項目類型

設定 Team Foundation Server 和 Project Server 的整合

管理 Team Foundation Server 和 Project Server 的整合