Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.11
-
None
-
None
-
Jira 5.2.11
Description
Using the jira-report goal, it is impossible to get Unresolved issues.
Unresolved is not managed by Jira server like other resolution statuses. The REST API does not return the Unresolved status thus the plugin throws the following exception:
org.apache.maven.plugin.MojoFailureException: Could not find resolution Unresolved.
at org.apache.maven.plugin.jira.RestJiraDownloader.resolveOneItem(RestJiraDownloader.java:265)
at org.apache.maven.plugin.jira.RestJiraDownloader.resolveList(RestJiraDownloader.java:246)
at org.apache.maven.plugin.jira.RestJiraDownloader.resolveIds(RestJiraDownloader.java:212)
at org.apache.maven.plugin.jira.RestJiraDownloader.doExecute(RestJiraDownloader.java:131)
at org.apache.maven.plugin.jira.AdaptiveJiraDownloader.doExecute(AdaptiveJiraDownloader.java:47)
at org.apache.maven.plugin.jira.JiraMojo.executeReport(JiraMojo.java:372)
at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:255)
at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:210)
at org.apache.maven.plugin.changes.AbstractChangesReport.execute(AbstractChangesReport.java:207)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
Note that you won't have the same error with the https://issues.apache.org/jira/ server, because the Unresolved status is "redefined" (id 9)
https://issues.apache.org/jira/rest/api/2/resolution/
This is explicitly not recommended in Jira documentation: https://confluence.atlassian.com/display/JIRA/Defining+Resolution+Field+Values
The redefinition of Unresolved shall lead to incorrect Jira status report.
JQL with id="Unresolved" is correct:
https://issues.apache.org/jira/browse/MCHANGES-240?jql=project%20%3D%20MCHANGES%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC
but with id=9 it is not (result is empty):
https://issues.apache.org/jira/issues/?jql=project%20%3D%20MCHANGES%20AND%20resolution%20%3D%209%20ORDER%20BY%20priority%20DESC
And in that case, setting configuration resolutionIds to Unresolved will lead to the second sample query.