JIRA Report plugins wirtten in version 4.4.3 are not working in JIRA 5.1

Deleted user July 17, 2012

I recently updated the Jira 4.4.3 to the Jira 5.1. Some of the existing report plugins aren't working. All of them showing the following exceptions:

java.lang.IncompatibleClassChangeError: Found interface com.atlassian.jira.plugin.report.ReportModuleDescriptor, but class was expected

I've check the How to migrate a plugin from Jira 4.x to Jira 5.0 document, it said: If you do receive an error like this, then you need to recompile your plugin against JIRA 5.0 to ensure that your plugin utilises the new interface implementations in JIRA 5.0.

I've tried to run the commands for my report plugins project, but it still could not solve it:

atlas-run

atlas-mvn package

Would you please tell me how to solve this problem?

Thank you in advance

Best Regards

1 answer

0 votes
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 17, 2012

As the docs say, you need to recompile the plugins. It's no help telling us you've run atlas-run and packaging - if you've amended your code correctly, then those commands will produce plugins that at least install and show you something where your reports are. If you haven't updated the code correctly, then they'll give you error messages.

My best guess based on what you've said is that all you've done with your plugins is recompiled them, probably without updating the version they are aimed at. So, first steps - did you edit the pom.xml BEFORE you recompiled, and put in the new version of Jira?

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 17, 2012

Not a clue, I've let the development kit decide which ones to use when recompiling my plugins, never touched the packages it was pulling in.

Just to be clear, can you confirm what you've done for one plugin? I expect you would have:

  • Edit the pom.xml for the plugin to point at Jira 5.1
  • Atlas-run
  • Go into the Jira that is now running and checked the report works.

If that fails, then where exactly are the errors happening?

Deleted user July 17, 2012

Hi Nic,

Thank you for your reply. I've updated the pom file by using the version 5.1 packages before I recompiled. The following dependencies (format groupId, ArtifactId, Version) are using in my report plugin pom file:

  • com.atlassian.jira, atlassian-jira, 5.1
  • com.atlassian.jira, jira-func-tests, 5.1
  • com.atlassian.jira, jira-rest-plugin, 5.1
  • com.atlassian.jira, jira-api, 5.1
  • com.atlassian.gadgets, atlassian-gadgets-api, 1.1.5.rc1
  • com.atlassian.gadgets, atlassian-gadgets-spi, 1.1.5.rc1
  • com.atlassian.plugins.rest, atlassian-rest-common, 1.1.0.beta6
  • com.atlassian.plugins.rest, atlassian-rest-common, 1.0.2
  • com.atlassian.sal, sal-api, 2.0.16
  • com.atlassian.templaterenderer, atlassian-template-renderer-api, 1.0.5

Would you please have check the lis if I used the correct version packages?

Deleted user July 17, 2012

What I have done:

  • Edit the pom.xml for the plugin to use the Jira 5.1
  • Run Atlas-package
  • Copy the jar file to my local Jira at : ..\Application Data\JIRA\plugins\installed-plugins
  • Restart the Jira
  • Select one active project at the 'Projects' tab in the Jira
  • Request a report from the 'Reports' menu
  • Error found:

Not Found (404)

Found interface com.atlassian.jira.plugin.report.ReportModuleDescriptor, but class was expected

Could not find what you were looking for. Maybe you should raise an issue.

I checked the log file, the error stack is:
2012-07-18 09:37:14,423 http-9090-4 ERROR haohongl 577x241x1 1rh887h 127.0.0.1 /secure/ConfigureReport.jspa [jira.web.dispatcher.JiraWebworkActionDispatcher] Exception thrown from action 'ConfigureReport', returning 404
java.lang.IncompatibleClassChangeError: Found interface com.atlassian.jira.plugin.report.ReportModuleDescriptor, but class was expected
at com.qxlva.jira.reports.TimeLoggedOnDayRangeVelocityReport.buildHtmlTemplate(TimeLoggedOnDayRangeVelocityReport.java:271)
at com.qxlva.jira.reports.TimeLoggedOnDayRangeVelocityReport.buildVeloctiy(TimeLoggedOnDayRangeVelocityReport.java:229)
at com.qxlva.jira.reports.TimeLoggedOnDayRangeVelocityReport.buildUserReport(TimeLoggedOnDayRangeVelocityReport.java:139)
at com.qxlva.jira.reports.TimeLoggedOnDayRangeVelocityReport.generateReportHtml(TimeLoggedOnDayRangeVelocityReport.java:96)
at com.atlassian.jira.web.action.browser.ConfigureReport.doExecute(ConfigureReport.java:121)
at webwork.action.ActionSupport.execute(ActionSupport.java:165)
at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:82)
at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39)
at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31)
at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16)
..............................................

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 17, 2012

Hmm, I'd have expected atlas-package to throw errors and not let you compile the plugin, but we're going in the right direction.

You need to debug the changes in the report API - I have to admit to cheating here and using an IDE to do a lot of the work for me - if you open up your plugin project in an IDE (I tend to use Eclipse or Netbeans mostly, or IDEA sometimes, and there are of course, others), it will probably highlight the code that's incorrect. Unfortunately there's no easy cure - you'll need to work through the API docs and your code to work out what changes you need to make.

Deleted user July 30, 2012

I tried to debug it in Eclipse, but it showed Source not found when I tried to step into the class JiraResourcedModuleDescriptor for method getHtml(String , Map<String, ?>). Would you please tell me how to get the source code?

Deleted user July 31, 2012

Downloaded the atlassian-jira-5.1-source.zip from Atlassian website and tried to debug the source code for

Found interface com.atlassian.jira.plugin.report.ReportModuleDescriptor, but class was expected

The problem still can't be solved.

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 31, 2012

I don't think downloading the source and trying to "debug" or include it is going to help much. You need to look at the calls you are making in your code, and re-work them to use the new API with valid calls.

Start at http://docs.atlassian.com/software/jira/docs/api/latest/ and look for the report module descriptor in there.

I'd also look at the current documentation on developing reports - maybe knock up a really simple sample from the examples there and see how that differs from your code.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events