2012-08-03 100 views
1

我试图有效地找到上周关闭的所有JIRA问题。有谁知道如何以一种很好的方式做到这一点?使用SOAP API过滤JIRA问题

我现在混乱的解决方案是循环播放项目中的每个问题,并将其结束日期和时间与当前时间进行比较。但是,循环必须以给定键开始和结束,例如PROJECT-1000到PROJECT-2000。这并不是非常令人满意,因为必须对这些值进行硬编码,并且我不希望每次增加更多问题时都不得不将上限从2000增加到更高的值。我可以选择一个非常大的数字,它几乎肯定会比最高的ID号码大(扫描直到PROJECT-7777777),但是这太慢了。

(请记住,即使是老问题与小ID可最近关闭的,这意味着它不会工作,只是在扫描因为应用程序的最后一个运行创建的问题。)

任何建议一个这样做的优雅方式?

回答

2

您可以使用JQL创建一个过滤器,然后使用SOAP API访问它。

首先,创建过滤器,使用这种查询:

resolutionDate >= "-7d" 

比,你可以使用getIssuesFromFilterWithLimit SOAP功能访问您的过滤器。

顺便说一句,如果因为任何未来的原因,你想找到最高的问题关键,check out this answer

编辑

要查找的过滤器ID,去http://your.jira.com/ManageFilters.jspa(管理过滤器),然后选择过滤器。然后在URL中,您将看到requestId

正如@ C.Williamson所说,还有getIssuesFromJqlSearch(token, jqlQuery, maxIssuesReturned),它通过直接执行JQL来节省过滤器的使用。

+0

感谢您的回答 - 您知道如何在我的过滤器创建后找到过滤器ID? – 2012-08-06 17:49:05

+1

很棒的回答。另外,可以使用getIssuesFromJqlSearch(token,jqlQuery,maxIssuesReturned) – 2012-08-06 23:05:49