检查谁在TFS中更改了构建质量值

时间:2014-06-05 14:01:15

标签: tfs

我正在调查这样的事情:我是否有可能看到谁在TFS中改变了构建质量值?我在TFS中有很多关于EventService的出版物和材料。使用此服务,我可以收听BuildQualityValueChangedEvent并在Build Qaulity更改时触发一些操作。我想做以下事情:

  1. 收听BuildQualityValueChangedEvent。
  2. 获取有关更改用户的信息。
  3. 在我完成所有研究之后,我可以得出结论,这个任务可以通过编写特定的TFS插件来完成,该插件将从SQL数据库查询信息,其中存储有关构建质量变化的信息。以下是问题: TFS在哪里存储来自BuildQualityValueChangedEvent事件的信息?有没有人有任何建议如何获得改变构建质量值的人的用户名?

    更新1 我使用这样的代码来获取我的订阅信息

    IEventService eventService = (IEventService)tfServer.GetService(typeof(IEventService));
    Subscription[] subscriptions = eventService.GetAllEventSubscriptions(userName);
    List<Subscription> list = new List<Subscription>();
    

    但我没有得到我想要的信息。我知道有 BuildStatusChangeEvent 类包含了我需要的有关构建的所有信息。你知道怎么用吗?也许有些建议?

2 个答案:

答案 0 :(得分:0)

经过更多研究后,我发现包含此类信息的数据库表。它的名字是dbo.tbl_ClientEvent。此信息类似于&#34;&lt;&#34; ChangedBy&#34;&gt;&#34; TFSSERVER \用户&#34;&LT;&#34; /&#34;&#34; ChangedBy&#34;&GT;&#34;

答案 1 :(得分:0)

您可以通过ISubscriber中提供的API访问它。您传递的Xml事件数据将包含该信息,您可以解析并记录它。

要执行此操作,您需要实现ISubscriber接口。我在2010年的VB中有一个老例子,但它应该给你一个起点:

在NotifyEvent方法的主体中,您可以通过将“notificationEventArgs”xml解析为BuildQualityChangedNotificationEvent对象来访问有关谁进行更改的信息。