【问题标题】:How to update TFS work item in own Plugin while ISubscriber.ProcessEvent?ISubscriber.ProcessEvent 时如何在自己的插件中更新 TFS 工作项?
【发布时间】:2014-10-21 01:46:19
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: .net tfs tfs-workitem


    【解决方案1】:

    不,您必须深入创建客户端并加载工作项。但是,您可以将绕过文本放在编辑用户名中。用户界面将显示“由 AwesomePlugin4 由 TfsService 编辑。

    因此,如果编辑是由您的插件进行的,您可以跳过。

    此外,您可能会降低性能,因为您可以阻止处理。更好的模型是将更新逻辑放在 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/

    【讨论】:

    • 这份工作听起来不错,我会去看看。您能否分享我(和公众:))可以找到有关如何创建 TFS 作业以及如何触发它的更多信息的信息/链接?
    猜你喜欢
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 2010-11-15
    • 2015-03-23
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2020-07-22
    相关资源
    最近更新 更多