使用问题导航器显示Jira问题

使用问题导航器显示Jira问题,jira,jql,Jira,Jql,下面是简单的Jira JQL搜索语句: JqlQueryBuilder builder = JqlQueryBuilder.newBuilder(); builder.where().assignee().in("Dylan").and().unresolved(); Query query = builder.buildQuery(); 然后我们有搜索结果: SearchResults results = searchService.search(authenticationContex

下面是简单的Jira 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();
SearchResults=searchService.search(authenticationContext.getUser(),
查询,PagerFilter.getUnlimitedFilter());
列出问题=结果。getIssues();
问题:我需要查找问题,使用多个标准筛选问题,并使用标准Jira问题导航器窗口向用户显示结果(我不想为其创建自己的velocity模板)。我知道,可以将JQL查询字符串安全地链接到指向问题导航器的现有URL。主要的问题是,我必须比较问题的两个日期字段(到期日期和解决方案),而这种比较不能用JQL完成。所以,我不能完全用JQL编写查询。我必须将JQL与标准Java混合使用(用于日期比较,这一点都没有问题)


因此,我的主要问题是:然后我有一个问题列表
list issues=results.getIssues()
,是否可以使用问题导航器显示它们?如何创建?

一旦您有了
列表问题
,您就可以创建一个大小相同的字符串数组,并将所有问题键保存到此查询结果中。然后,您可以创建以下类型的筛选器:

issueKey in (ABC-1,ABC-2,ABC-3,...)
或通过URL:

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()
决议日期<“2013/01/01”和截止日期<现在()
有关更多信息,请查看

如果标准JQL还不够,请查看现有插件,例如。另一个选项可能是创建自己的JQL搜索,查看有关此解决方案的更多信息


如果你需要帮助和好运,请告诉我

我想我应该写一个新的JQL函数,要么作为插件,要么使用scriptrunner插件。谢谢你给我指明了正确的方向!我通过编写一个新的自定义JQL函数作为插件来解决我的问题,将所有需要的Java逻辑放入其中,然后调用这个新函数,如:builder.where().issue().inFunc(“myFunctionName”);然后:Query Query=builder.buildQuery();字符串queryString=query.getQueryString();然后,我将此查询字符串附加到指向问题导航器的现有URL。在我的情况下,这个URL被用于图表插件的图像映射功能,用户点击图表上的某个区域并获得相应的问题。