1

我需要在 TFS 上的一个项目中找到在过去 2 周内严重性更改为高的所有错误。我只能通过以下查询找到过去 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] &gt; @today - 14 ORDER BY [System.Id] </Wiql>
</WorkItemQuery>
4

2 回答 2

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
于 2013-01-11T11:35:57.967 回答
0

只需转到工作项类型........>我的查询,然后进行新的查询。它是一个简单的用户界面,可以让您轻松查询。您可以通过以下示例找到它:

团队项目 = 你的项目

工作项类型 = 错误

严重性=高

于 2013-01-11T10:44:09.787 回答