-
Bug
-
Resolution: Fixed
-
High
-
5.4.0, 5.4.2
-
None
-
1
-
Severity 3 - Minor
-
Issue Summary
This is reproducible on Data Center: (yes) / (no)
Steps to Reproduce
- Create any assets custom field and update a few issues to add assets objects to the custom field.
- Run a search in Jira issue search screen using aqlfunction and retrieve the issues.
project = ITSD AND "Service Contract" in aqlFunction("Name = Contract1")
- It works as expected and displays the issues matching the JQL.
- Now open Assets reports and select "New report" and "Issue Count" report.
- Add all the mandatory fields, adn in the "Issue filter (JQL)" field, enter the JQL provided above that has aqlfunction.
- Hit Generate preview.
Expected Results
A preview of the data is displayed.
Actual Results
A validation JQL error is displayed on the screen. Even if the report is saved without any preview, still the gadget that shows this filter in the dashboard fails with the same error in the log.
The below exception is thrown in the atlassian-jira.log file:
2023-06-19 11:05:30,208+0530 DefaultDispatcher-worker-2 ERROR admin [i.r.j.p.i.widget.queue.GenerationDataCapabilityQueueImpl] Fail running a job-queue under user `admin` io.riada.core.service.ServiceException: jql: {insight-widget.validation.jql.nonvalid} at io.riada.core.service.ServiceException$Companion.validationFailed(ServiceException.kt:110) at io.riada.core.service.ServiceException$Companion.validationFailed(ServiceException.kt:94) at io.riada.assetmgt.ticket.service.JiraIssueServiceImpl.parseJQL(JiraIssueServiceImpl.kt:109) at io.riada.assetmgt.ticket.service.JiraIssueServiceImpl.buildJQL(JiraIssueServiceImpl.kt:93) at io.riada.assetmgt.ticket.service.JiraIssueServiceImpl.findAllByObject(JiraIssueServiceImpl.kt:46) at io.riada.assetmgt.ticket.service.TicketServiceJiraImpl.findIssuesForObject(TicketServiceJiraImpl.kt:109) at io.riada.assetmgt.ticket.service.TicketServiceJiraImpl.findAllTicketsForObjects(TicketServiceJiraImpl.kt:69) at io.riada.jira.plugins.insight.reports.issuecount.IssueCountReport.findTicketsFrom(IssueCountReport.kt:113) at io.riada.jira.plugins.insight.reports.issuecount.IssueCountReport.generate(IssueCountReport.kt:93) at io.riada.jira.plugins.insight.reports.issuecount.IssueCountReport.generate(IssueCountReport.kt:26) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityJobImpl.generate(GenerationDataCapabilityJobImpl.kt:42) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityJobImpl.generateSample(GenerationDataCapabilityJobImpl.kt:26) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityQueueImpl$generateSample$1.invoke(GenerationDataCapabilityQueueImpl.kt:181) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityQueueImpl.runUnderContext(GenerationDataCapabilityQueueImpl.kt:193) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityQueueImpl.generateSample(GenerationDataCapabilityQueueImpl.kt:179) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityQueueImpl.previewOf$lambda-1(GenerationDataCapabilityQueueImpl.kt:117) at com.atlassian.jira.util.thread.JiraThreadLocalUtils.lambda$wrap$1(JiraThreadLocalUtils.java:156) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityQueueRunnerJiraImpl$run$1$future$1.invokeSuspend(GenerationDataCapabilityQueueRunnerJiraImpl.kt:61) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665) 2023-06-19 11:05:30,228+0530 DefaultDispatcher-worker-2 ERROR anonymous [i.r.j.p.i.widget.queue.GenerationDataCapabilityQueueRunnerJiraImpl] Oops io.riada.core.service.ServiceException: jql: {insight-widget.validation.jql.nonvalid} at io.riada.core.service.ServiceException$Companion.validationFailed(ServiceException.kt:110) at io.riada.core.service.ServiceException$Companion.validationFailed(ServiceException.kt:94) at io.riada.assetmgt.ticket.service.JiraIssueServiceImpl.parseJQL(JiraIssueServiceImpl.kt:109) at io.riada.assetmgt.ticket.service.JiraIssueServiceImpl.buildJQL(JiraIssueServiceImpl.kt:93) at io.riada.assetmgt.ticket.service.JiraIssueServiceImpl.findAllByObject(JiraIssueServiceImpl.kt:46) at io.riada.assetmgt.ticket.service.TicketServiceJiraImpl.findIssuesForObject(TicketServiceJiraImpl.kt:109) at io.riada.assetmgt.ticket.service.TicketServiceJiraImpl.findAllTicketsForObjects(TicketServiceJiraImpl.kt:69) at io.riada.jira.plugins.insight.reports.issuecount.IssueCountReport.findTicketsFrom(IssueCountReport.kt:113) at io.riada.jira.plugins.insight.reports.issuecount.IssueCountReport.generate(IssueCountReport.kt:93) at io.riada.jira.plugins.insight.reports.issuecount.IssueCountReport.generate(IssueCountReport.kt:26) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityJobImpl.generate(GenerationDataCapabilityJobImpl.kt:42) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityJobImpl.generateSample(GenerationDataCapabilityJobImpl.kt:26) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityQueueImpl$generateSample$1.invoke(GenerationDataCapabilityQueueImpl.kt:181) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityQueueImpl.runUnderContext(GenerationDataCapabilityQueueImpl.kt:193) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityQueueImpl.generateSample(GenerationDataCapabilityQueueImpl.kt:179) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityQueueImpl.previewOf$lambda-1(GenerationDataCapabilityQueueImpl.kt:117) at com.atlassian.jira.util.thread.JiraThreadLocalUtils.lambda$wrap$1(JiraThreadLocalUtils.java:156) at io.riada.jira.plugins.insight.widget.queue.GenerationDataCapabilityQueueRunnerJiraImpl$run$1$future$1.invokeSuspend(GenerationDataCapabilityQueueRunnerJiraImpl.kt:61) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available