我需要找到TFS项目中的所有错误,在过去两周内严重性已更改为“高”。 我只能通过以下查询找到过去2周内打开的错误,其严重性为高:
<?xml version="1.0" encoding="utf-8"?>
<WorkItemQuery Version="1">
<TeamFoundationServer>http://tfs-srv:8080/tfs/defaultcollection</TeamFoundationServer>
<TeamProject>Project</TeamProject>
<Wiql>SELECT [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo],[System.State] FROM WorkItems WHERE [System.TeamProject] = @project AND [System.WorkItemType] = 'Bug' AND [Microsoft.VSTS.Common.Severity] = 'High' AND [System.CreatedDate] > @today - 14 ORDER BY [System.Id] </Wiql>
</WorkItemQuery>
答案 0 :(得分:2)
我认为只需通过VS定义查询就可以做到这一点,因为它涉及比较两个工作项历史记录。
另一方面,可以直接查询TFS数据库以获取数据。尝试在TFS服务器上的TFSWarehouse数据库上运行此查询:
SELECT DATEDIFF(DD, H.System_ChangedDate, GETDATE()) as DaysAgo, H.System_Id, H.System_ChangedDate
, H.System_Rev, H2.System_Rev, H.Microsoft_VSTS_Common_Severity, H2.Microsoft_VSTS_Common_Severity
, 'X', H.*
FROM WorkItemHistoryView H INNER JOIN WorkItemHistoryView H2 ON H.System_Id = H2.System_Id
AND H.System_Rev = H2.System_Rev + 1
AND H.Microsoft_VSTS_Common_Severity = 'High'
AND H2.Microsoft_VSTS_Common_Severity = 'Low'
AND H.System_ChangedDate BETWEEN DATEADD(dd, -14, GETDATE()) AND GETDATE()
AND H2.RecordCount = 1
WHERE H.ProjectNodeName = 'MyProject'
AND H.System_WorkItemType = 'Bug'
AND H.RecordCount = 1
ORDER BY H.System_Id ASC
答案 1 :(得分:0)
只需转到工作项类型........&gt;我的查询然后再创建一个新查询。 它是一个简单的用户界面,可让您轻松查询。你可以通过以下方式找到它 例如:
团队项目=您的项目
work itemn type = bug
严重性=高