【问题标题】:TFS 2017 How to query Work Items using SQLTFS 2017 如何使用 SQL 查询工作项
【发布时间】:2017-07-05 19:08:13
【问题描述】:

我正在寻找一种使用 SQL 选择直接从 TFS 的 SQL 数据库中查询工作项的方法。

对于 TFS 2010,您可以使用一些数据库视图来实现此目标。 TFS2010: How to query Work Items using SQL on the Relational Warehouse

WIQ 中的示例如下所示:

SELECT [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State]
FROM WorkItems 
WHERE [System.TeamProject] = @project
  and [System.WorkItemType] = 'Ticket'
  and [System.State] <> 'Closed'
  and [System.State] <> 'Removed'

【问题讨论】:

  • 不建议直接连接或查询TFS操作存储。您应该使用 API。你想达到什么目的?
  • @MrHinsh 我想在上面的查询返回至少一个工作项时向手机发送一条短信。我们公司有一个监控软件PRTG 可以这样做,但它没有任何类型的 tfs 传感器。我能想到的获取这些信息的最快方法是让 PRTG 查询 TFS 数据库。

标签: sql sql-server tfs


【解决方案1】:

到目前为止我发现的最好方法是使用数据库视图vw_denorm_WorkItemCoreLatest。在这种情况下,“最新”意味着,您只能获得工作项的最新版本,而没有任何以前的版本。如果您需要工作项的所有版本,请使用视图 vw_WorkItemCoreAll

除了选定的列之外,这与我从我的问题中得到的 WIQ 一样接近:

SELECT *
FROM [dbo].[vw_denorm_WorkItemCoreLatest]
WHERE [System.TeamProject] = 'MyTeamProject'
  and [System.WorkItemType] = 'Ticket'
  and [System.State] <> 'Closed'
  and [System.State] <> 'Removed'

【讨论】:

  • 至少写一条评论为什么你不投票 - 查询有效并且完全符合我的需要。
猜你喜欢
  • 2017-06-15
  • 2017-05-07
  • 2011-06-28
  • 2017-11-17
  • 1970-01-01
  • 2012-12-26
  • 1970-01-01
  • 2010-11-25
  • 1970-01-01
相关资源
最近更新 更多