I already built an app using Atlassian Connect Express (ACE) which can deploy on Atlassian Marketplace and it will be available & useful for Jira Cloud Users.
While the deployment process at Jira Marketplace, I came to know that ACE based app can be deployed by a URL providing data in JSON format. But that way does not allow us to select “Jira Server” as compatible application option. So can you suggest, how can I make my ACE based developed Jira App to Jira Server Users?
Just for the info, there are 3 ways to deploy app at Jira Marketplace as mentioned below.
- Upload your app artifact (.jar, .obr, or .jwb).
- Provide a URL to your artifact (.jar, .obr, .jwb or JSON descriptor)
- My app isn’t directly installable
Here, 2nd option is the only one which can help me to deploy ACE based Jira App. And Jira Server option as Compatible Application only available if I choose 3rd option.
Can you let me know how I can use my Node.js based Jira App for Jira Serer Users?
Currently, the only answer is: You can’t. Apps written for Atlassian’s Cloud platform are fundamentally different from those written for Server or Data Center versions of Atlassian’s product. ACE really only works for Cloud.
Now, if you look at the Atlassian Marketplace you will find a bunch of Apps that are available for Server, Data Center and Cloud. How do those vendors do it? Long story short, they have two (or three w/ Data Center) versions of their app. And while most vendors go out of their way to make the apps look identical on Server and Cloud, the technology behind them is very, very different.
So, if you want to have a Server version of your app, you will need to write a new piece of software targeting Server. To get started, I suggest you talk a look at the Developer Documentation for Server: https://developer.atlassian.com/server/
Hope that helps,
Thanks Osie for prompt reply.
I still have few queries listed below:
- So our Node.js based Jira App code won’t be of any use for Jira Server?
- Can a .jar (coded in Java) work on both the platforms (Jira Cloud & Jira Server)?
Thanks & Regards
- That is correct you can only create Server plugins in Java as you’re injecting your code base into the Atlassian product which was written in Java. This article might help in understanding the different aspects https://developer.atlassian.com/developer-guide/cloud-server-and-data-center-for-developers/
- The only real suggestion is to stay in one language and try to reuse code as much as possible. So creating a Java Server App and staying in Java for your cloud app. There is a Atlassian Connect Spring Boot framework (similar to Atlassian Connect Express) that you can use in Cloud. However it will always be separate apps as the foundations of writing each app is different.
There are some examples of other vendors solving this problem on the blog. Here’s a slightly older article that might be of some help. https://blog.developer.atlassian.com/universal-addons-for-jira-server-cloud/