I'm trying to figure out how a traditional SaaS application would be able to connect with an on-premise version of Jira. Has anyone successfully done this and have tips for the best way to scope this out to understand the requirements needed to support this type of connection? Are there specific settings that would potentially prevent this with firewalls or public accessibility?
Appreciate the feedback.
Many many many times, and not just SaaS -> Jira Server, but SaaS -> Jira Cloud, and the opposite, and server to server and cloud to cloud.
I've used apps on the Jira side, apps/plugins/power-ups/whatever on the other side, I've written code that runs on one side or the other, or both, and I've used intermediate messaging layers, automation, scripting and even 3rd party cloud or server systems (IFTTT for example)
I would start by trying to establish what the benefits are first - why are you doing it? What do your people benefit most from doing with the two (or more) systems?
Once you have a good idea of the goals, you then look at triggers. Imagine something happens in system A, when and what should happen in B? Simple examples might be "Person using A changes an item, we want a linked item in B to get updated with the info that something linked to it in A changed", or "Person in B runs a report that would benefit from data that is held in A". Those are quite interactive and ad-hoc triggers, older-school ones might be more like the batch runs I used to build for "trading system to accounts and payments systems", where we couldn't overload the trading systems while markets were open due to sheer processing volume, so all the balances were calculated and sent as a series of condensed messages to anyone who needed them overnight - a cron job doing that send is still what I'm calling a "trigger".
Once you know those, then you start to get technical. For any given trigger, you probably want to think about direction. Which end of the system is going to start the process of exchange?
Again, simple example - imagine someone closes an issue in Jira. Given that I don't know what your SaaS system is, or what it's for, I would probably start with "hey, get Jira to poke the other system when someone closes an issue". Jira knows when it happens, has all the data to hand, so it's probably going to be easier to set up than some form of monitoring in the SaaS system which is not aware of the trigger, and hence has to keep asking "hey, Jira, anything new?"
Once you've got the ideal direction, then it comes to the technical method. That's where the hunt for apps/addons/automations comes in, and if those don't work for you, you'll drift into writing it yourself.
On the firewalls question, that depends entirely on what method you end up with. Jira's REST API is done over https (or http, but, nowadays, no, just don't, unless your data is fine to be seen by the entire planet), so open up port 443 for a connection to your SaaS service across its IP ranges and that's it. In the other direction - depends on the SaaS solution.
Hey there Cloud Community members! We’re excited to give you the first glimpse of the new home for business teams on Jira — Jira Work Management. Jira Work Management is the next generation of J...
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