Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Which API should I use for developing a Jira plugin compatible with both Cloud and Server products? Edited

The documentation for the various approaches for developing a Jira plugin (Jira Cloud, Atlassian SDK) isn't entirely clear on this: Are these approaches mutually exclusive in terms of compatibility with Jira Cloud and Jira Server products?

Technically, I suppose it should be possible to develop a Java-based plugin using the Atlassian SDK to be compatible with both Jira Cloud and Jira Server.

From reading the documentation it seems though that one would have to maintain separate codebases for Jira Cloud and Jira Server plugins.

1 answer

1 accepted

1 vote
Answer accepted

They are very very different architectures. 

  • An app for Jira Server is (probably) written in java and some supporting languages (velocity, javascript, etc), and has to be installed into the Jira system.
  • An app for Cloud is a package of instructions on providing hooks to the main app and UI and then a pointer to the machine that will be doing the work by poking the Cloud system over the REST API.   https://developer.atlassian.com/cloud/jira/platform/architecture-overview/

You simply can't install Server plugins on Cloud and Server does not have the "connect" framework that allows you to tell a Server to talk to your application.

While there's the possibility to share logic, and even some of the code if your Cloud app is written in the same language as your Server plugin.

But they're so different, you can't have one app for both.

However... If you were to stick with a more Cloud-like architecture where you wrote a system that talks to Jira over REST, you can get quite close.  The REST APIs for both Server and Cloud are very similar (not identical, the products are diverging, but because they're always going to do similar things, stuff like "get an issue" and "change a field" etc are not going to diverge far).  You could write a "Cloud app" that works much the same for Cloud and Server, maybe with the "server version" being a simple Jira plugin that talks to your Cloud app direct.

Suggest an answer

Log in or Sign up to answer
TAGS

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you