如何在ISubscriber.ProcessEvent中更新自己的插件中的TFS工作项?

时间:2014-08-27 12:54:22

标签: .net tfs tfs-workitem

我通过实现Microsoft.TeamFoundation.Framework.Server.ISubscriber界面编写了一个TFS 2013插件。在ProcessEvent方法中,我检查工作项是否已随

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

如果为true,我想更新此工作项。实现这一目标的最佳方法是什么?

我目前的解决方案是使用Microsoft.TeamFoundation.Client库打开与TFS的客户端连接,搜索工作项并更新它。这里的问题是,这是在触发事件的初始事件之后的第二次更改。我可以挂钩到更新事件,并在同一工作流程中更改工作项吗?

1 个答案:

答案 0 :(得分:2)

不,您必须找到创建客户端并加载工作项的根目录。但是,您可以将旁路文本放在编辑用户名中。 ui将显示“由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/