這是一個較大限制的一部分,但是讓我絆倒的部分是隻允許創建工作項目的用戶(「System.CreatedBy」字段的值)將工作項目轉換爲關閉狀態。 我知道如何使用「For」和「Not」從句來限制轉換,但這些僅限於組。我想限制它到這個工作項目的特定創建者。 VALIDUSERS也限於組(TFS或AD)。 感謝您的幫助。如何將工作流中的轉換限制爲僅在TFS中創建工作項的用戶?
回答
昨晚我能找到合適的解決方案。
這個解決方案實際上完全符合我的需求,因爲它允許我添加一個免於規則的組,以便該組的成員(如QA)以及創作者能夠關閉工作項目,而其他團隊成員不是。
參考:here
作爲參考:
- 創建ClosedByValidation字段並添加以下規則
<FIELD name="Closed By Validation" refname="Demo.ClosedByValidation" type="String">
<OPY from="currentuser" />
<FROZEN not=「[project]\Project Administrators」/>
</FIELD>
- 添加下列規則至關閉狀態
- 將ClosedByValidation字段添加到窗體中,所以它看起來像這樣。請注意我是如何同時顯示了「創建者」欄和「ClosedByValidation」字段
- 的ClosedByValidation領域複製「創建者」值成 本身就是在創建工作項時的權利。
- 然後立即 凍結字段(與FROZEN)規則,其中規定它不能 更改。
- 注意:凍結規則不適用於管理員項目 ,使其具有覆蓋功能。
- 當工作 項目被關閉,那麼當前用戶被複制到 ClosedByValidation領域。
- 如果ClosedByValidation的值仍爲 相同(原始創建者)則一切正常。
- 如果 ClosedByValidation的值已更改,則FROZEN規則顯示 違規,如您在上面的屏幕截圖中看到的。
<STATE value="Closed">
<FIELDS>
<FIELD refname="Demo.ClosedByValidation">
<COPY from="currentuser" />
</FIELD>
</FIELDS>
</STATE>
它是如何工作
感謝您的鏈接。這對我來說是一個新的信息,並且很高興能夠完成。確實非常聰明的解決方案。 – 2014-09-26 07:38:24
謝謝!請注意,如果公司中的用戶在打開工作項目時更改了顯示名稱(即,結婚),則此操作將失敗。因此,有一個免除規則是非常重要的,以便管理員可以強制關閉WIT。 – KarmaEDV 2016-08-05 08:46:37
此配置對於當前規則引擎是不可能的。
可能的替代:
- 創建一個服務器端事件處理程序,它可以攔截thesave並拒絕接受根據您的自定義業務規則
- 都能跟得上...我剛從...
應該指出的是,TFS並非設計成爲執法系統,您的業務規則意味着組織實施失靈。
我用你的博客文章來告訴你說的相反,但我想知道是否有辦法打斷實際的保存 – 2014-09-25 12:17:59
是的,你必須自己實現恢復邏輯 – 2014-09-26 06:21:37
好的,非常感謝Martin。 – 2014-09-26 07:35:51
這是不可能的afaik。
然而,相反的想法是可能的「Restrict a transition when currentUser is not same as CreatedBy」與「NOTSAMEAS」規則。 (我仍然不知道爲什麼MS沒有實行「sameAs的」規則)
那麼,既然沒有「sameAs的」規則,則可以使用XML修改不能這樣做。
順便說一句,我希望我錯了,但它也不能中斷工作項保存事件並取消它(作爲@MrHinsh建議)。工作項保存事件只是一個通知事件而不是一個DecisionPoint事件,它也發生在工作項保存操作按名稱暗示完成(WorkItemChangedEvent)之後。
有關NotificationType的詳細信息可以閱讀here。
- 1. Tfs工作項目的用戶限制
- 2. 如何使用TFS中的轉換工作流創建自定義字段
- 3. 如何在TFS中創建工作區
- 4. 如何在TFS中創建批量工作項作爲c#中的錯誤
- 5. 將工作項目字段限制在TFS 2010中的特定用戶
- 6. 創建子項時複製字段值TFS中的工作項?
- 7. 如何使用WIQL在TFS中創建新工作項目
- 8. Windows工作流動態,用戶創建的工作流程
- 9. 在TFS工作項目工作流程中複製System.IterationPath的當前值
- 10. 通過excel導入TFS 2010工作項時禁用工作流轉換
- 11. 創建在線工作項目TFS
- 12. 將TFS工作項目轉換爲XML的示例代碼?
- 13. 如何在TFS 2012中創建工作項類型
- 14. 限制TFS工作項目中的Assigned To列與創建者相同
- 15. 在TFS 2015中複製工作項目
- 16. 用於創建工作項目模板的TFS客戶端API?
- 17. TFS 2010工作項目自動轉換
- 18. 將Git工作流轉換爲Mercurial
- 19. 將狀態添加到TFS 2013中的工作項目工作流程
- 20. 如何在TFS構建工作流程中動態添加工作區?
- 21. TFS 2010 - 無論如何限制工作項目的編輯
- 22. TFS休息API - 創建工作項目
- 23. 使用TFS API返回新創建的TFS工作項ID?
- 24. 如何在youtrack的工作流程中導出工作項目
- 25. 使用Javascript REST API在TFS中創建大量工作項目
- 26. 需要什麼權限才能在TFS中創建新的工作項類型
- 27. 如何通過在TFS中創建新工作項來自動創建任務?
- 28. 工作項目狀態的轉換工作流程
- 29. 無法將工作簿轉換爲NPOI中的工作表
- 30. 定製WIT字段TFS工作流程轉換
爲什麼你需要這個規則?什麼組織行爲促成了這個? – 2014-09-25 05:51:53