2009-08-11 46 views
1

我正在尋找構建特定ChangeSetID將觸發的構建編號或構建名稱。我看到有一個TfsWarehouse.dbo。[Build Changeset]表,但TfsWarehouse DB只是經常填充,在TFS CheckIn Alert觸發後我需要這些信息。我創建了一個簽入服務,該服務根據應用程序創建代碼審查工作項並將其分配給其應用程序所有者。TFS API - 如何根據ChangeSetId找到什麼構建將啓動

有沒有一種方法可以根據ChangeSetId瞭解Build會啓動什麼?

我可以直接使用TFS API或查詢數據庫。

感謝, 添

回答

3

如果你想知道什麼構建定義將通過一系列的版本控制路徑的影響,然後看看TFS的API在IBuildServer.GetAffectedBuildDefinitions方法。

對於BuildDefinition,您可以獲取已運行的構建的BuildDetails,並從中查詢它們基於的變更集。

當檢入事件觸發時,不可能知道從它創建的構建的構建編號是什麼,因爲可以在構建運行時將構建編號設置爲過程的一部分 - 而不是當構建第一次排隊時。

如果你想編輯你的問題來解釋你正在努力完成的事情,我可能會提出一個更好的方法。例如,在IBuildServer上,您可以調用CreateQueuedBuildsView方法爲您提供查詢構建服務器的機制,並在構建排隊時獲得通知。還有BuildCompletedEvent在構建完成時觸發。