共用方式為


將 Microsoft Project 欄位對應至 Team Foundation 欄位

您可以自訂如何將儲存在 Team Foundation 中的工作項目欄位,對應至為 Microsoft Project 定義的欄位。 您可以變更發行特定欄位的方式,以及指定當您建立階層式或樹狀連結和相依性連結時,所使用的預設連結類型。

不同於 Microsoft Excel,Microsoft Project 會使用一組有限的資料行,其中包括預先定義的資料行,例如工作名稱和自訂欄位。 當使用者發行或重新整理 Microsoft Project 檔案中的工作項目資料時,欄位對應會判斷工作項目資料庫中的哪些欄位符合 Microsoft Project 中的資料行。

您可以自訂對應,例如,若要支援您建立的欄位,或是將欄位對應至預先定義的資料行,而不是自訂的資料行。 如需 Microsoft Project 欄位對應檔的完整文件,請參閱加入或變更 Project 欄位對應至 TFS 欄位的方式

您可以修改 FileMapping.xml 檔案,以自訂對應。 下表摘要說明 Microsoft Solutions Framework (MSF) 流程範本之檔案、資料夾與外掛程式的名稱。 外掛程式包含將檔案上傳至 Team 專案集合的工作定義。

檔案名稱:

FileMapping.xml

資料夾名稱:

類別

外掛程式名稱:

Microsoft.ProjectCreationWizard.Classification

如需詳細資訊,請參閱在 Classification 外掛程式中定義初始區域和反覆項目

指定欄位對應的方式

您可以使用 Mapping 項目和下列語法結構,以指定對應的欄位:

<Mappings>
   <Mapping WorkItemTrackingFieldReferenceName="System.Id" 
            ProjectField=""
            ProjectName=""
         ProjectUnits=""
         PublishOnly=""
         IfSummaryRefreshOnly=""/>
</Mappings>

下表說明 Mapping 項目的屬性。

屬性

描述

WorkItemTrackingFieldReferenceName

必要項。 指定工作項目類型中,欄位的參考名稱。

ProjectField

必要項。 指定 Microsoft Project 中資料行的名稱。 指定預先定義的資料行,在名稱前面加上 "pj",例如用 pjTaskName 代表工作名稱資料行。 將自訂欄位指定為 pjTaskText,後面接數字,例如 pjTaskText11。

ProjectName

選擇項。 指定要對使用者顯示的資料行名稱。 如果未指定此屬性,則會使用工作項目類型中的欄位名稱。

ProjectUnits

選擇項。 指定當您將欄位類型對應至 Microsoft Project 時,所要使用的單位類型。 有效值為 pjMinute、pjHour、pjDay、pjWeek 和 pjMonthUnit。

PublishOnly

選擇項。 如果設為 true,表示會將欄位發行至工作項目資料庫,但不重新整理。 這個值通常用於不應在 Team Explorer 中更新的導出欄位。 如果設定為 false,表示會發行並重新整理該欄位。 此屬性預設會設定為 false。

根據預設,只有 [開始日期] 和 [完成日期] 會將這個屬性設為 [true]。

IfSummaryRefreshOnly

選擇項。 如果設為 true,表示永遠不會將欄位發行至工作項目資料庫,但是當下列條件也成立時,會從工作項目資料庫重新整理:

  • 欄位的資料列是 Microsoft Project 中的摘要工作。

  • 摘要工作將 [發行] 和 [重新整理] 的值設為 Yes。

  • 摘要工作包含至少一個繫結至 Team Foundation Server 的子工作。

Microsoft Project 所進行的任何更新或計算,都會覆寫從專案計劃的工作項目資料庫中重新整理的值。 不過,修改過的值永遠不會儲存到工作項目資料庫。 這個屬性通常用於摘要欄位,所以如果該欄位發行至工作項目資料庫,會導致資料不一致。

如果設定為 false,表示可能會發行並重新整理該欄位。 根據預設,此屬性設定為 false。

注意事項注意事項

IfSummaryRefreshOnly 屬性會取代 PublishOnly 屬性。如需詳細資訊,請參閱自訂 Microsoft Project 欄位對應檔

根據預設,[原始評估]、[剩餘工作] 和 [已完成工作] 欄位的 IfSummaryRefreshOnly 屬性會設為 true。

指定同步處理的欄位、連結和附件

除了 Mapping 項目,其他兩個項目可決定欄位同步處理的方式,以及哪個欄位將會支援連結和附件。

SyncField 項目可指定哪個資料行要用來做為同步處理欄位。 同步處理欄位的標題為「發行和重新整理」,並可讓使用者指定工作資料列是否只要發行或重新整理。

您可以使用下列 XML 語法來指定哪個資料行要對應至同步處理欄位。 您要將 ProjectField 屬性設定至 Microsoft Project 中的有效資料行。

<SyncField ProjectField="" />

LinksField 項目可指定連結和附件的資料行。 藉由使用連結和附件的資料行,使用者可以指定特定工作資料列是否具有連結或附件。

您可以使用下列 XML 語法來指定哪個資料行要對應至連結和附件欄位。 您要將 ProjectField 屬性設定至 Microsoft Project 中的有效資料行。

<LinksField ProjectField="" />

預設欄位對應

下列範例示範 MSF for Agile Software Development 流程範本如何將工作項目中的欄位,對應至 Microsoft Project 中的資料行。

<?xml version="1.0" encoding="utf-8"?>
<MSProject>
  <Mappings>
    <Mapping WorkItemTrackingFieldReferenceName="System.AreaPath" ProjectField="pjTaskOutlineCode9" />
    <Mapping WorkItemTrackingFieldReferenceName="System.AssignedTo" ProjectField="pjTaskResourceNames" />
    <Mapping WorkItemTrackingFieldReferenceName="System.Id" ProjectField="pjTaskText10" ProjectName="Work Item ID" />
    <Mapping WorkItemTrackingFieldReferenceName="System.IterationPath" ProjectField="pjTaskOutlineCode10" />
    <Mapping WorkItemTrackingFieldReferenceName="System.Reason" ProjectField="pjTaskText14" />
    <Mapping WorkItemTrackingFieldReferenceName="System.Rev" ProjectField="pjTaskText23" />
    <Mapping WorkItemTrackingFieldReferenceName="System.State" ProjectField="pjTaskText13" ProjectName="State" />
    <Mapping WorkItemTrackingFieldReferenceName="System.Title" ProjectField="pjTaskName" />
    <Mapping WorkItemTrackingFieldReferenceName="System.WorkItemType" ProjectField="pjTaskText24" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Priority" ProjectField="pjTaskText19" ProjectName="Work Item Priority" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.StackRank" ProjectField="pjTaskNumber1" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.FinishDate" ProjectField="pjTaskFinish" PublishOnly="true" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.OriginalEstimate" ProjectField="pjTaskBaselineWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true" />
    <LinksField ProjectField="pjTaskText26" />
    <SyncField ProjectField="pjTaskText25" />
  </Mappings>
</MSProject>

請參閱

概念

在 Classification 外掛程式中定義初始區域和反覆項目

加入或變更 Project 欄位對應至 TFS 欄位的方式

自訂 Microsoft Project 欄位對應檔