2017-02-16 83 views
4

我正在尋找使用SQL選擇直接從TFS的SQL數據庫中查詢工作項目的方法。TFS 2017如何使用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' 
+0

不建議連接到或直接查詢TFS操作店:

除選定列,因爲我從我的問題WIQ這是接近。你應該使用API​​。你想達到什麼目的? –

+0

@MHHinsh每當上面的查詢返回至少一個工作項時,我想發送短信給手機。我們的公司[PRTG](https://www.de.paessler.com/snmp_monitor)中有一個監控軟件可以這樣做,但它沒有任何類型的tfs傳感器。我能想到的最快方法是獲取這些信息,讓PRTG查詢TFS數據庫。 – phifi

回答

5

到目前爲止,我已經找到了最好的方法是使用數據庫視圖vw_denorm_WorkItemCoreLatest。在這種情況下,「最新」意味着,您只能獲得工作項目的最新版本,而無需以前的任何版本。如果您需要工作項目的所有版本,請使用視圖vw_WorkItemCoreAll

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

至少寫一條評論爲什麼你downvote - 查詢的作品,並確實是我需要的。 – phifi