TFS 與 Project Server 整合的同步處理程序概觀

若您了解同步處理引擎如何管理 Visual Studio Team Foundation Server 2013 與 Microsoft Project Server 之間的資料流程,就能夠更有效率地管理這兩項伺服器產品的整合。 同步處理引擎可以讓 Project Professional 中工作的專案管理人員與在 Team Foundation 中工作的小組負責人與成員,各自執行其工作流程。 交付項目和工作可以在各個領域中獨立進行。

本主題內容

  • 三種類型的同步處理

  • 要同步處理的資料

  • 更新期間及提交時執行的資料驗證

  • 鏡像欄位及「兩種腳本」

  • 支援同步處理所需的權限

  • 錯誤通知、事建記錄及追蹤能力

三種類型的同步處理

同步處理引擎可執行三種類型的同步處理。 此流程一方面可以擷取及更新 TFS 和 Project Server 中,與工作及資源相關的資料,一方面又能顧及專案計劃中之專案管理人員對於資料的擁有權。 專案管理人員可以使用 Microsoft Project Professional 進行變更,並透過 Project Web Access 或 Project Web App (PWA) 核准更新。 開發小組成員可以使用 Team Foundation 的用戶端,將更新提交至 Project Server。

如下圖所示,資料同步處理包含七個主要步驟。

Team Foundation Server 和 Project Server Integration 的同步處理流程

PS-TFS 同步處理

同步處理引擎由單一工作服務組成;該服務會定期執行,而不會在每次更新工作項目時執行。 同步處理工作會依照所示的順序執行下三個流程:

發行同步處理

步驟 1   專案管理人員定義或更新工作或交付項目,並將所要同步處理之每項工作的 [發行至 Team 專案] 值設定為 [是]。

步驟 2專案管理人員使用 Microsoft Project Professional 發行企業專案計劃。 變更會自動儲存至 Project Server 的資料庫。

步驟 3同步處理引擎從 Project Server 提取資料,並依據設定要同步處理的資料決定所要更新的資料。 只有設定要同步處理的物件、工作和工作項目才會更新。

步驟 4   同步處理引擎在 Team Foundation 中建立或更新工作項目,並定義連結將 Project 中的工作,繫結到 Team Foundation 中的工作項目。

狀態同步處理

步驟 5小組負責人或成員修改 Team Foundation 中連結到企業專案中之工作的工作項目,或是建立工作項目,並將 [送出至 Project Server] 值設定為 [是] 。 同步處理引擎向會查詢對所對應之 Team 專案的變更,再將要求傳送至 Project Web Access 或 Project Web App (PWA) 中的核准佇列。

核准同步處理

步驟 6   各專案管理人員檢閱其核准佇列,並核准或拒絕各個狀態更新要求。

當核准更新之後,專案管理人員必須發行專案計劃,更新才會出現在 Project Server 中。

重要

當同步處理引擎將多個層級的工作項目提交至 Project Server 時,必須先核准第一個層級,並將其發行到 Project Server,然後才能提交下一個層級。例如,您可以提交一批新工作項目,並在其中包含三個層級的子項目。在該情況下,專案管理人員必須發行專案計劃四次,所有工作項目才能與 Project Server 同步。

步驟 7   Project Server 中核准用的事件處理常式將核准決定傳輸到同步處理引擎,然後同步處理引擎再依據核准狀態更新 Team Foundation Server 中的工作項目。

回到頁首

管理核准及拒絕

對於連結到 Project Server 之工作項目的所有變更,都必須提交至對應到 Team 專案之企業專案計劃的專案管理人員,由其進行核准。 您可以設定自動核准,以自動核准所有來自 Team Foundation 的更新。 如需詳細資訊,請參閱核准或拒絕任務更新

經核准的工作項目通常會復原到企業專案計劃中。 被拒的工作項目則需要解決並重新提交。

對於被拒的更新,會有訊息顯示在工作項目的 [記錄] 欄位中。 此訊息會指出被拒的值及拒絕者。 若 Team 專案對應到位於 Project Server 2010 上的專案計劃,此訊息還會包含專案管理人員所提供的註解,說明項目被拒的理由。 小組成員必須調解工作項目,然後將其重新提交至企業專案,或是直接移除而不提交至企業專案。 此外,小組成員可以建立工作項目查詢,依據 [Project Server 上次送出狀態] 尋找所有被拒的項目。 如需詳細資訊,請參閱監視工作項目送出並解決拒絕

同步處理及重試間隔

資料同步處理會依排程執行,而不會在每次更新工作項目時進行。 同步處理工作服務會每 30 秒執行一次。 其會在這段期間內,查詢 Project Server 或 Team Foundation Server 上的相關工作項目及欄位有無修改,以及專案管理人員是否核准了這些修改。

同步處理引擎會每小時重新提交一次先前無法更新的工作項目。 如需詳細資訊,請參閱變更同步作業的重試或重新送出間隔

回到頁首

要同步處理的資料

組態分為兩個層級,可以決定哪些物件要參與同步處理,以及哪些資料已經同步。 Team Foundation 的系統管理員會執行數個層級的對應,藉此設定可以參與同步處理的物件。 Team Foundation 的專案管理人員和使用者會在第二個層級上,控制哪些特定工作和工作項目要進行同步處理。

回到頁首

設定要參與同步處理的物件

下列組態決定要參與同步處理流程的物件。 Team Foundation 的系統管理員通常會執行這些組態。 但專案管理人員也可能會將其企業專案計劃對應到 Team 專案。

  • 對應到 Team 專案集合的 PWA 執行個體:此對應會將 Team 專案集合設定為支援同步處理,並可與集合同步處理的 PWA 執行個體。

  • 對應到 Team 專案的企業專案計劃:此對應會將企業專案計劃和 Team 專案全都設定為參與同步處理。 此對應也會決定可與 Team 專案同步處理的企業專案。

  • 對應以進行同步處理的工作項目類型:當您將企業專案計劃對應到 Team 專案時,請指定可以同步處理的工作項目類型。 此對應會將 [Project Server] 索引標籤加入工作項目表單,並將每個工作項目類型的驗證規則加入企業專案計劃。

  • 對應到 Project Server 欄位的工作項目欄位:同步處理引擎預設會同步處理 Team Foundation 中的下列欄位:[標題]、[指派給]、[已完成工作]、[剩餘工作]、[原始評估]、[開始日期] 和 [結束日期]。 您可以新增欄位並設定參數,以決定欄位的同步處理方式。 例如,您可以決定哪些欄位要顯示在工作項目表單上,以及特定欄位是否可以使用個別的值。

如需詳細資訊,請參閱將 Project Server 元件對應至 Team Foundation 元件指定要同步處理的工作項目類型

設定要進行同步處理的個別工作及工作項目

專案管理人員負責決定企業專案計劃中,要發行到 TFS 的工作。 小組成員負責決定 Team 專案中,要發行到 Project Server 的工作項目。 專案管理人員可以將交付項目和工作的詳細分工發行到 TFS,也可以只發行及管理摘要工作項目。 有關於發行從屬工作或父子式工作項目的一些限制,可參閱本主題後文的在更新期間以及提交後立即執行的資料驗證。

如需詳細資訊,請參閱在對應至 Team 專案的企業專案計劃中管理專案詳細資料由上而下計劃對應至 Team 專案之企業專案計劃中的商業需求

注意事項注意事項

您可以將多個企業專案計劃對應到一個 Team 專案,但只能將專案計劃中的一個工作,對應或連結到 Team Foundation 中的一個工作項目。Project Server 上之企業專案計劃中的每個工作都不相同。提交到 Project Server 的工作,只會更新 Team Foundation 中的一個工作項目。此外,在 Team Foundation 中所建立並提交到 Project Server 的工作項目,則只會更新一個企業專案計劃。

更新期間及提交時執行的資料驗證

同步處理流程會在發行到 Project Server 之前,先驗證標記要同步處理的工作和工作項目。 企業專案計劃和 Team 專案都會執行資料驗證。

當專案管理人員發行企業專案計劃時

當在 Project Professional 中工作的專案管理人員發行對應到 Team 專案的企業專案計劃時,會執行特定的驗證檢查。 Team Foundation 增益集會對設定為要發行到 Team Foundation (亦即,[發行至 Project 專案] 設為 [是] ) 的工作執行下列驗證檢查:

  • [工作項目類型] 欄位的設定值必須符合設定為要參與目標 Team 專案之同步處理的工作項目類型。

    重要

    Text30 是預設的 Project 欄位,會與 [工作項目類型] 欄相關聯,並會在同步處理工作與工作項目時使用。若您曾使用 Team 功能區功能表上的 [選擇 Team 專案] 選項,將專案計劃連接至 Team Foundation Server,就可以使用另一個 Project 欄位 - [工作項目類型]。此欄位與 Project 預設欄位 Text24 都只支援對應繫結至 Team Foundation 的專案計劃,而不支援計劃的同步處理作業。Text24 欄位包含 Team 專案之工作項目類型的完整清單。只要將游標指向欄位,檢查是否出現 Text30,即可確認您欄位的正確性。

  • 所有對應之 Project 欄位的值都必須通過特定檢查,才能確保這些值不會違反針對目標工作項目類型所設定的規則。 這些規則會在企業專案計劃對應到 Team 專案時加入計劃中。

  • 工作一經發行,即無法變更 [發行至 Team 專案] 和 [工作項目類型] 的設定值。 對於不要繼續同步處理的工作,必須予以刪除。

  • 若某工作及其從屬工作之一皆標記為要進行同步處理,則這兩者之間的所有工作,也都必須標記為要進行同步處理。

  • 工作的 [資源名稱] 欄位值必須符合目標 Team 專案之有效參與者的名稱。

  • 若同時將多項資源指派給同一個工作,將只能啟用其中一項資源指派。 如需詳細資訊,請參閱讓計劃管理辦公室能夠查看 Agile 小組進度

  • 所有的值都必須符合 Project Server 套用到特定欄位定義的規則。 例如,若您將值指派給關聯到查閱資料表的對應欄位,但該欄位並不在查閱資料表中,即可能會發生錯誤。

每當違反一或多項規則時,就會出現 [驗證解析] 對話方塊。 專案管理人員必須在發行變更之前,先解決每個錯誤。

當開發人員從 Team Foundation 提交新的或更新的工作項目時

當在 Team Foundation 中工作的開發人員建立或更新工作項目並儲存變更時,會對設定為要發行到 Project Server (亦即,[送出至 Project Server] 設定為 [是]) 的工作項目執行下列驗證檢查:

  • [指派給] 欄位的值也必須對應到加入企業資源集區及專案計劃中之專案資源的小組成員。 如需詳細資訊,請參閱指派權限以支援 TFS 與 Project Server 整合

  • 若只有一個企業專案計劃對應到 Team 專案,將會在新建立之工作項目的 [Project Server] 索引標籤上的 [企業專案] 欄位中,自動顯示其名稱。

  • 如有多個企業專案對應到 Team 專案,您必須為所建立之新工作項目的 [企業專案] 欄位指定值,但前提是該工作項目的 [送出至 Project Server] 值設定為 [是]。

  • 當工作項目連結至 Project 工作之後,即無法再變更其階層式結構。 如需詳細資訊,請參閱Summary Tasks, Task Hierarchy, and Submissions of Work Items that Are Nested at Multiple Levels

  • 當您發行專案計劃時,先前加入對應之工作項目類型的規則,可能會導致驗證錯誤。 例如,條件式規則會限制使用者所能指派給欄位的值。 如需詳細資訊,請參閱將規則套用至工作項目欄位

  • 對應到 Project Server 之欄位定義的基本規則 (例如查閱資料表),可能會在狀態同步處理期間導致錯誤。 例如,若您使用查閱資料表,為 Project 中的欄位定義有效值,再將該欄位對應到 Team Foundation 中的欄位,然後將 Team Foundation 中的欄位設定為不在查閱資料表中的值,便會導致錯誤。

在工作項目發行到 Project Server 之後,該項目會繫結至目標企業專案計劃中的工作。 此繫結又稱為連結。 同步處理期間,這些連結會予以鎖定。 若要移除連結,必須刪除 Project 中的對應工作,或在移除專案計劃或工作項目類型的對應時,使用 /force 選項。 如需詳細資訊,請參閱移除元件使其不再參與資料同步處理

回到頁首

鏡像欄位及「兩種腳本」

由於同步處理引擎可執行三種類型的同步處理,並會在排程的交涉期間,才與兩個資料庫通訊,因此不會發生資料合併。 資料同步處理會依序執行兩個步驟,而引擎則允許兩個產品各自不同。 對於 Team Foundation 中每一個經過同步處理的欄位,您應為相應的對應欄位定義一個鏡像欄位,以便能儲存 Project Server 中的值。 在一般同步處理作業期間,若兩個欄位中有一值在 Team Foundation Server 中有所更新,兩個欄位的值會一直處於不同,直到專案管理人員核准更新並發行專案計劃為止。

您應為您所對應的每個欄位,指定下列其中一個選項,以選擇同步處理引擎更新 Team Foundation 中之參考欄位的方式:

如需詳細資訊,請參閱TFS 與 Project Server 整合的欄位對應 XML 項目參考

回到頁首

支援同步處理所需的權限

若要同步處理 Team Foundation Server 與 Project Server 的資料,必須授與下列權限:

  • 若是 Project Server 2010,必須授與「完全控制」權限給執行 TfsJobAgent 時所使用的服務帳戶,如此才能存取 Project Server Service Application。 如需詳細資訊,請參閱指派權限以支援 TFS 與 Project Server 整合

  • 您必須將存取所對應之每一個 PWA 執行個體所需的權限,授與執行 TfsJobAgent 時所使用的服務帳戶。

  • 指派給 Project Professional 中之工作或指派給 Team Foundation 中之工作項目的使用者,都必須被認可為 Team 專案中的「參與者」。 這些使用者也必須被認可為企業專案計劃的資源並獲授權,才能登入參與同步處理流程的 PWA 執行個體。

如需詳細資訊,請參閱指派權限以支援 TFS 與 Project Server 整合

回到頁首

錯誤通知、事建記錄及追蹤能力

同步處理引擎會依序先處理發行到 Project Server 的產品更新、狀態更新,最後再處理核准更新。 當您發行時,您會更新 Project Server,將工作和工作詳細資料加入企業專案計劃。 發行同步處理會將 Project Server 上的資料提取到 Team Foundation Server 中。 狀態同步處理會提取 Team Foundation 的資料,以更新專案管理人員的核準佇列,而核准同步處理則會將欄位 (例如剩餘工作和已完成工作) 上的更新發行到 Project Server,以初始化新的同步處理週期。

每一種類型的同步處理引擎都可以對 Project Professional 或 PWA 執行個體中的專案管理人員,顯示相關的狀態和錯誤訊息。 此外,與同步處理引擎相關的狀態、錯誤訊息及其組態,也會寫入 Team Foundation Server 和 Project Server 的適當管理介面。

專案管理人員、小組成員和系統管理員全都可以在同步處理相關訊息發生時,檢視及診斷這些訊息。 訊息會寫入下列位置:

  • 在 Project Professional 中,企業專案計劃中的狀態列會顯示發行進度。

  • 在 PWA 執行個體中,[核准中心] 會顯示已更新之工作的佇列。

  • 在 Team Foundation 的工作項目表單中,[Project Server] 索引標籤會指出工作項目最近的同步處理狀態和時間。

  • 在 Team Foundation 的工作項目表單中,[記錄] 欄位會記錄每次工作項目更新之後的同步處理狀態和錯誤訊息。 當您整合 Project Server 2010 時,專案管理人員在核准或拒絕狀態更新時所撰寫的註解,也會記錄在 [記錄] 欄位中。

  • 參與資料同步處理之應用程式層伺服器的事件記錄檔,會維護所有同步處理事件和錯誤的記錄。

系統管理員可以使用 TfsAdmin ProjectServer /GetSyncMessages 命令擷取最新的事件訊息。 如需詳細資訊,請參閱檢視同步處理引擎錯誤訊息。 若要收集更詳細的資訊,可以啟用執行為服務之 Team Foundation 背景工作代理程式的詳細追蹤功能。 如需詳細資訊,請參閱Team Foundation 背景工作代理程式

回到頁首

請參閱

概念

管理 Team Foundation Server 與 Project Server 的整合

其他資源

使用 TFS 與 Project Server 整合管理專案