apache / apache/maven-changes-plugin

[MCHANGES-357] Cannot include Unresolved issues

Open
#228 8 comments 0 reactions 0 assignees View on GitHub
bug priority:major
Dominant language
Java
Stars
15
Forks
22
Avg merge
8h 1m
Merged PRs (30d)
3

Description

**[Franck Malartic](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=graham2071)** opened **[MCHANGES-357](https://issues.apache.org/jira/browse/MCHANGES-357?redirect=false)** and commented

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.

---

**Affects:** 2.11

**Attachments:**
- [RestJiraDownloader.java.patch](https://issues.apache.org/jira/secure/attachment/12750276/RestJiraDownloader.java.patch) (_5.56 kB_)

1 votes, 6 watchers

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in RestJiraDownloader.java at the resolution handling shown in the stack trace, then inspect the attached RestJiraDownloader.java.patch and the Jira REST resolution behavior. Reproduce the jira-report goal with resolutionIds set to Unresolved. Done means Unresolved is accepted without the exception and the report uses the correct unresolved Jira query rather than resolution id 9.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.