2014-08-27 11 views
3

我已經通過實現Microsoft.TeamFoundation.Framework.Server.ISubscriber接口編寫了TFS 2013插件。在ProcessEvent方法我檢查,如果一個工作項目與如何更新自己的插件中的TFS工作項,而ISubscriber.ProcessEvent?

if (notificationType == NotificationType.Notification && 
    notificationEventArgs is WorkItemChangedEvent) 

改變,如果是真的,我想更新該工作項目。達到此目的的最佳方法是什麼?

我目前的解決方案是使用Microsoft.TeamFoundation.Client庫打開一個TFS客戶端連接,搜索工作項並更新它。這裏的問題在於,這是在之後的第二次更改觸發事件的最初一次。我是否可以掛鉤更新事件,並在同一工作流程中更改工作項目?

回答

2

不,你必須去創建一個客戶端和加載工作項目的根源。但是,您可以將旁路文本放入編輯用戶名中。該界面將顯示「通過TFSSERVICE由AwesomePlugin4編輯。

因此,如果修改是由你的插件讓你可以跳過。

此外,你可以有一個性能下降,你可以撐起處理。一個更好的模型將是把你的更新邏輯在TfsJob並觸發在變化的情況下工作,然後你的工作可以運行,並根據需要,這更強大做任何修改或旁路。

http://blogs.msdn.com/b/chrisid/archive/2010/02/15/introducing-the-tfs-background-job-agent-and-service.aspx

http://exsertus.wordpress.com/2013/10/10/custom-tfs-jobs-and-job-monitoring/

+0

工作的事情聽起來不錯,我會看看它。你可能會分享我(和公衆:)的信息/鏈接,可以找到關於如何創建TFS作業和如何觸發它的進一步信息? – Desty 2014-08-27 16:17:48

相關問題