將 Microsoft Project 欄位對應至 Team Foundation 欄位
您可以自訂儲存在 Team Foundation 中的工作項目欄位,是如何對應到針對 Microsoft Project 定義的欄位。您可以變更特定欄位的發行方式,並且指定您在建立階層式或樹狀連結和相依性連結時所使用的預設連結類型。
與 Microsoft Excel 不同的之處在於,Microsoft Project 會使用一組限定的資料行,包括預先定義的資料行 (例如,工作名稱) 以及自訂欄位。當使用者發行或重新整理 Microsoft Project 檔中的工作項目資料時,欄位對應就會判斷工作項目資料庫中的哪些欄位是對應到 Microsoft Project 中的資料行。
您可以自訂對應,例如,以便支援剛建立的欄位,或是將欄位對應到預先定義的資料行,而不要對應到自訂資料行。如需 Microsoft Project 欄位對應檔的完整文件,請參閱自訂 Microsoft Project 欄位對應。
您可以透過修改 FileMapping.xml 檔來自訂對應。下表摘要列出 Microsoft Solutions Framework (MSF) 流程範本之檔案、資料夾和外掛程式的名稱。外掛程式包含了工作的定義,此工作會將檔案上載到 Team 投影集合。
檔案名稱: |
FileMapping.xml |
資料夾名稱: |
Classification |
外掛程式名稱: |
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 所做的任何更新或計算,都會覆寫由工作項目資料庫重新整理的值。但此修改值一律不會儲存到工作項目資料庫中。此屬性通常用於摘要欄位,這是因為摘要欄位一旦發行至工作項目資料庫,就會導致資料不一致的情形。 如果設定為 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>