Converting a java plugin to a connect add-on

Ian Gallmeister August 22, 2017

We have a java plugin (.jar) working on server hosted Jira, which defines a custom field type and processes its value (formats with java .vm templates) in Jira UI.
We would like to integrate all these functionalities to Jira cloud.

So we have investigated the available documentation related to Jira cloud development. According to our understood only a Connect add-on can be uploaded to Jira cloud.  We were able to experiment with a simple Connect add-on example with web UI, upload it to Jira cloud marketplace as a private add-on, generate tokens to use in 'Private listing', after which install the add-on on Jira cloud and run successfully.

Also we have investigated Jira cloud module types for Connect add-on creation in Java.  There is a limited list of Jira cloud module types, and no relevant one for integrating our Java plugin functionality.

So we would like to know how Java plugin can be converted to Connect add-on, so to define Jira custom field type.

Also, we were not able to successfully run the samples provided in the documentation.

Thanks for any help you can offer (or links to already answered questions)!

3 answers

0 votes
Alfathim September 11, 2023

Hi  Ian
I am also having the  same  issue  .  How  did  you convert the java plugin   to  cloud  ?

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.
August 22, 2017

No, you can't convert one type to the other.

The closest you can get is re-using the logic, but the two add-on types are totally different beasts.  Cloud does not (as far as I can tell) support custom fields in Connect add-ons.   I suspect the best you can do is to host the custom field on your own servers, and write a connect add-on to expose it on the JIRA Cloud system.

0 votes
Steven F Behnke
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 22, 2017

You need to provide your add-on as a service. That's how Connect add-ons work. Instead of working with your JAR installed locally they need to remotely request resources from your add-on server.

Typically this is accomplished by designing an add-on that fully uses a remote API specification like REST and client-side rendered resources.

You would convert all JAVA access in Velocity Templates to appropriate REST method calls. You replace Velocity Tempaltes and would serve content in an IFRAME rendered by the add-on or via client-rendered javascript (such as React).

There is no Custom Field Type to extend anymore, only IssueField: 

Suggest an answer

Log in or Sign up to answer