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.
They are very very different architectures.
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.
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