2011-02-17 57 views
1

我的公司使用TFS 2008和MSF進行敏捷過程模板。我們正在規劃TFS 2010的升級過程。我們使用場景作爲功能需求的容器,並具有鏈接的開發任務,錯誤等。解決/關閉TFS場景僅適用於未激活的子項/鏈接

爲了將場景的狀態保存爲「已解決」或「已解決」關閉「,我想強制執行任何與該場景相關的開發任務或錯誤也關閉。通過TFS 2008,這些鏈接,我們計劃在TFS 2010中使用兒童工作項目。

我一直在審查工作項類型定義架構和MSDN文檔,但沒有什麼是跳出來作爲解決此問題的解決方案。

可以這樣做嗎?預先感謝任何幫助!

回答

0

我不認爲這是可能的「開箱」。我建議你寫一個查詢來查找違反「規則」的情況,並以這種方式處理。

如果您必須自動執行此操作 - 您可以使用可調用Web服務的TFS Eventing Service

設置它爲任務或Bug關閉時查詢數據庫的情景,如果所有任務/錯誤都關閉 - 使用TFS API將狀態推進到已解決或已關閉。您可以限制允許的用戶升級到服務運行的帳戶。

0

你想要什麼不能直接完成。工作項目的保存是所謂的通知(而不是決策)。這意味着你只能在事件完成後在事件中執行TFS API。你不能阻止它。

但是,有些方法可以獲得所需要的「效果」。如果您修改了模板,以便您的父級工作項目(我認爲您稱其爲「場景」)具有狀態控制(而不是字段)爲只讀,這樣只會使不使用常規Visual Studio的客戶端控件可以改變這個值。 (這可以由用戶解決,但需要一些努力來打破規則)。

但還有一步。您需要以某種方式將父工作項目「解決」。爲此我推薦我編寫的一個名爲TFS Aggregator的開源工具。 (或者,如果您計劃「推出自己的」您可以使用代碼中有一個出發點。)

你可以找到TFS Aggregatoron CodePlex上這裏:http://tfsaggregator.codeplex.com/

這是捲起改變一個偉大的工具和總計到父母工作項目。您可以制定一條規則,即當您的子項目全部「完成」時,將父項移至「已解決」。


編輯:我現在從你的問題,你有多種類型的工作項目作爲父項目的孩子實現。 TFS聚合器現在不支持(但可能在將來)。它是爲了將任務彙總到Bug或PBI而編寫的。不過,修改該項目的代碼可能比從頭開始更容易。