2013-02-18 82 views
1

下面是简单的吉拉JQL搜索声明:使用问题显示吉拉问题导航

JqlQueryBuilder builder = JqlQueryBuilder.newBuilder(); 
builder.where().assignee().in("Dylan").and().unresolved(); 


Query query = builder.buildQuery(); 

然后我们的搜索结果:

SearchResults results = searchService.search(authenticationContext.getUser(), 
      query, PagerFilter.getUnlimitedFilter()); 


List<Issue> issues = results.getIssues(); 

问题:我需要找到问题,利用它们进行过滤几个标准,并使用标准Jira Issue Navigator窗口向用户显示结果(我不想为它创建自己的速度模板)。我知道,可以将JQL查询字符串安全地链接到指向问题导航器的现有URL。主要的问题是我必须比较问题的两个日期字段(截止日期和分辨率),而这种比较不能用JQL来完成。所以,我无法用JQL完全写出查询。我必须将JQL与标准Java混合使用(用于日期比较,这完全没有问题)。

所以,我主要问题是这样的:那么我的问题List issues = results.getIssues()名单,是否有可能使用问题导航器,以显示他们呢?如何?

回答

0

一旦你的List issues你可以创建字符串的相同大小的数组,所有问题的密钥保存到该查询结果。不是,你可以创建排序的过滤器:

issueKey in (ABC-1,ABC-2,ABC-3,...) 

或通过网址:

https://your.jira.com/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery=issuekey+in+%28%22ABC-1%22%2C%22ABC-2%22%29&runQuery=true&clear=true 

话虽如此,我不那么肯定使用JQL你不能找到一个简单的解决方案查询,你试图达到什么目标?基本JQL给出了一些最新的搜索能力:

resolutionDate < "2013/01/01" and duedate < now() 

看一看JIRA's Advanced Searching以获取更多信息。

如果标准JQL是不够的,看看现有的插件,如JQL Tricks Plugin。另一种选择可能是创建自己的搜索JQL,检查Adding a JQL Function to JIRA有关此解决方案的更多信息。

让我知道如果你需要帮助,祝你好运!

+0

我想我会写一个新的JQL功能,无论是作为一个插件或使用脚本运行插件。 – mdoar 2013-02-19 18:35:16

+2

谢谢你向我展示正确的方向!我写一个新的自定义功能JQL作为一个插件解决我的问题,把所有所需的Java逻辑,然后叫喜欢这个新功能:builder.where()问题()inFunc(“myFunctionName”)。然后:Query query = builder.buildQuery(); String queryString = query.getQueryString();然后,我将此查询字符串附加到指向问题导航器的现有URL。在我的情况下,这个URL用于制图插件的图像映射功能,用户点击图表上的某个区域并获取适当的问题。 – user2084764 2013-03-23 09:57:04