Jira Cloud Plugin runing on our server (NodeJs)

Hi,
recently I created a Jira cloud plugin on my localhost using atlas-connect-new when I do start it using npm start, ngrok server will start and works fine, but now I have my own server and I want my plugin run on my server as a production plugin what should I do.
I use NodeJs

Thanks in advanced

Hi @Abdulrahmanaldakak,

You need to deploy your app to your server (the exact steps is dependent on your server setup) and change the configuration of the app so that, for instance, its base identifies the address of the server.

Regards,
Dugald

Hi @dmorrow ,
I think I’ve the same need. Does it mean that we have to maintain our own HTTPS server, independant from JIRA itself? I had read that it could be hosted on Heroku for instance, but it seemed so weird… especially when we used to have plugins hosted by JIRA itself, on Servers and Datacenters. So, sorry to ask for a confirmation.
Then I wonder, how I share this plugin in the market place? But does your answer means that, in this case, every JIRA clouds, for every customers in the world who use my plugin, would have to access concurrently to my single little HTTPS server?
I didn’t found the clear procedure either to submit my plugin to the marketplace, but is there a way to do it only for myself (not shown to the world) and then install it only in my JIRA cloud instance? or a way to avoid even the marketplace, if its only for my own JIRA cloud?
Thanks in advance for helping me to figure out the whole process of “publishing a plugin”

Regards
Alain

1 Like

Welcome to the Atlassian developer community @TROADECAlain.

This line of questioning is exactly what inspired Forge. “Build apps, not infrastructure.” So if you still have time to make a significant technology change, I suggest you check it out.

In case you still want to release a Connect App, here are some direct answers to your questions:

Does it mean that we have to maintain our own HTTPS server, independent from JIRA itself? I had read that it could be hosted on Heroku for instance, but it seemed so weird… especially when we used to have plugins hosted by JIRA itself, on Servers and Datacenters. So, sorry to ask for a confirmation.

Yes. The difference in operating model is significant. When Jira is self-managed, then you have direct feedback about how many and which Apps you install. You can keep Jira lean and run on smaller hardware, or you can load up all the Apps you like, run on big boxes, and use Data Center to help distribute the load. Lots of options.

But for Cloud, the “in process” plugins simply don’t scale. So our first attempt to rearchitect the App model was Connect with a “you build it, you run it” mindset. This got us a long way, with many Marketplace vendors able to bridge over from Server to Cloud. However, it is much more awkward for customer scenarios. Hence, Forge.

Then I wonder, how I share this plugin in the market place? But does your answer means that, in this case, every JIRA clouds, for every customers in the world who use my plugin, would have to access concurrently to my single little HTTPS server?

Yes. That’s how web applications work right? Many of our largest vendors have worked out scaling with various mechanisms, from vertical scaling with bigger and bigger hardware, to horizontal scaling with load balancers and functions-as-a-service. In customer cases, Marketplace access tokens can be used to help limit access (and hence scale).

I didn’t found the clear procedure either to submit my plugin to the marketplace, but is there a way to do it only for myself (not shown to the world) and then install it only in my JIRA cloud instance? or a way to avoid even the marketplace, if its only for my own JIRA cloud?

If you just want to build for your own Jira site, then you can skip Marketplace altogether. With Connect, you still have to have a service running. So you won’t want to leave it running on your laptop with ngrok. But you could use Heroku or any virtual machine infrastructure as a service. And the other constraint is your Jira Cloud will be running in “development mode”. The only meaningful consequence of that is to allow Apps installed from URLs (like your own) outside of Marketplace. That puts a bit more burden on admins to make sure they are only installing from sources they trust.

Thanks a lot @ibuchanan for all these answers.
I should have a look at Forge too, I guess.
Could you just develop your last sentence “That puts a bit more burden on admins to make sure they are only installing from sources they trust”? where do we find the place to configure & give such limitation?

The feature is more or less described “in line” with Connect getting started. I’m afraid the feature isn’t fully explained so I have known admins who are afraid of what it means.

I’m not surprised if those admins feels like opening Pandora’s box. :sweat_smile:
OK, thanks again, Ian, it helped a lot and I understand enough for the moment.

1 Like