Upgrading a legacy plugin to a new jira version - Greenhopper API

Robert Bojtos February 22, 2021

Hello community, 

 

I was given a plugin that was developed against jira server 7.13.X and I am supposed to make it compatible with jira 8.13.3. 

The plugin hides time tracking related data from users that are not part of a group, eg: clients that are not part of the organization. 

I managed to update those parts of the plugin that are not using services found in the following dependency:

<dependency>
<groupId>com.atlassian.jira.plugins</groupId>
<artifactId>jira-greenhopper-plugin</artifactId>
<version>7.7.0-DAILY20180130085629</version>
<scope>provided</scope>
</dependency>

which I updated to 

<dependency>
<groupId>com.atlassian.jira.plugins</groupId>
<artifactId>jira-greenhopper-plugin</artifactId>
<version>8.15.0</version>
<scope>provided</scope>
</dependency>

or

<dependency>
<groupId>com.atlassian.jira.plugins</groupId>
<artifactId>jira-greenhopper-plugin</artifactId>
<version>1000.571.0</version>
<scope>provided</scope>
</dependency>

based on maven public repository. 

Building the plugin results in compilation errors, one of them being the following:

 

build	22-Feb-2021 13:15:47	[ERROR] /opt/bamboo/xml-data/build-dir/JIRA-STMP0-JOB1/src/main/java/com/sap/jira/timetracking/services/CustomRapidViewEditResource.java:[109,113] method getEditModel in class com.atlassian.greenhopper.web.rapid.view.RapidViewEditHelper cannot be applied to given types;
build	22-Feb-2021 13:15:47	  required: com.atlassian.jira.user.ApplicationUser,com.atlassian.greenhopper.model.rapid.RapidView,java.util.function.Predicate<java.lang.String>
build	22-Feb-2021 13:15:47	  found: com.atlassian.jira.user.ApplicationUser,com.atlassian.greenhopper.model.rapid.RapidView
build	22-Feb-2021 13:15:47	  reason: actual and formal argument lists differ in length

Resulting from the logs, my guess is that the certain methods in the jira-greenhopper-plugin got updated and now require additional parameters. 

Building the plugin against the previous version 7.7.0-DAILY20180130085629 seems impossible, since dependencies are deprecated and some of them even changed their location (an example would be com.atlassian.greenhopper.... got moved to io.atlassian.greenhopper....). Simply put jira provides java Objects which are not supported any longer on the older version and results in even more compilation errors. 

I've looked everywhere to find any piece of documentation related to this dependency so I have a general idea what I need to provide to the new parameters in the method definitions but was unsuccessful.  

Is the greenhopper API the way to go when I want to modify the backlog/boards functionalities? Is it deprecated? Is there a new way to do it? 

I might even consider building a new plugin from scratch, if this API is no longer maintained or deprecated. 

Any information pointing me forward would be much appreciated.

Thank you, 
Robert

 

0 answers

Suggest an answer

Log in or Sign up to answer