So recently one of our engineers inquired about whether Jira could make an API call to one of our internal services (behind the firewall).
Back when we were on-prem, this was easy - for a different service, we had a webhook pointing at the internal service, and boom, done.
When we moved to Cloud, things got complicated, because Jira Cloud can't get through our firewall. When this came up in migration, the maintainer of the internal service had to do a bunch of extra work to make his service "public" via Amazon API Gateway.
I explained this to the more recent requestor, and they Googled around and found something called Jira Edge Connector (JEC) which is described as:
Jira Edge Connector (JEC) is a lightweight application that you can use to:
- integrate systems that are not accessible from the public internet with Jira Service Management
- run executables triggered by Jira Service Management
- deploy on-premises or in the customer’s cloud environment
Supported script technologies
JEC supports the following scripts:
- Groovy scripts (.groovy)
- Python scripts (.py)
- Go scripts (.go)
- Powershell scripts (. ps1)
- Shell scripts (.sh)
- Batch files (.cmd and .bat)
JEC supports environment variables, arguments, and flags that are passed to scripts. You can set these globally for all the scripts or locally on a per-script basis. Stderr and stdout options are also available. All the JEC scripts are written in Python3.
This was the first I had heard of such a tool! It sounded like a GREAT way to bridge the gap between Jira Cloud and internal services that are locked behind the firewall.
But oh. It's only for JSM? What a bummer. What was weird though is that I could see the Automation action to trigger JEC scripts in my NON-JSM Jira:
[Ok so making "Waiting for response" an Enterprise-only feature is super lame, but ok fine, if even just being able to trigger internal services would be useful!]
But when I click on that big beautiful blue Connect button, I get prompted to create an API key:
Oooh, looks so promising, but alas:
So... I filed a ticket.
Avery was kind enough to let me know that if my Jira also had JSM (which it does not), I could use this workaround:
Currently there is a workaround for using JEC with software projects if you have a JSM premium or enterprise license in the same site. If you do, you can create a global automation rule, add the JEC action there and then use the rule with your software project.
But ooof:
As far as standalone support for the action for software projects goes, it hasn't made it to the official roadmap yet and there is no timeline for when it will. However, I can tell you that Atlassian is very much aware of customer interest in this feature and it is being actively investigated internally. I would encourage you to keep an eye out on the public changelogs for the time being.
So then, as a wise man once said:
Here's some use cases that Avery put into the ticket (the database lookup one is mine)
Use Cases
1. Internal Database Lookups
- Retrieve incident data from internal logging systems using incident IDs from custom fields
- Process large JSON responses that may exceed current Automation limits (16KB for Enterprise)
- Attach retrieved data as JSON files to issues (workaround for size limitations)
2. Legacy System Integration
- Connect with on-premise systems that cannot be exposed publicly
- Maintain existing integrations during cloud migration
- Preserve security policies that prohibit public endpoints
3. Internal Tool Automation
- Trigger internal build systems
- Update internal tracking databases
- Synchronize with proprietary internal tools
I guess I'm not surprised there's not more outcry for this tool to be available to regular Jira instances because it's just not that well-known. I mean, to be fair, it came with the OpsGenie (RIP) acquisition, and was announced back in 2019:
But this was before Automation, so it only worked with... Opsgenie Rules, which makes sense because it was and is very Ops-oriented.
It looks like Atlassian integrated JEC with Automation back in April 2024: Automation using Jira Edge Connector (JEC)
And there's even a nice Loom about it: Automation using Jira Edge Connector (JEC): Run executable scripts on systems behind the firewall
But I have to imagine that companies like mine MUST have internal tools that they want to integrate that aren't necessarily for Ops stuff, but rather Development. Those people use Jira for Development (AS GOD INTENDED, oh sorry).
And they could really use a bridge like this.
I mean, Atlassian clearly knew they had to deal with uh, Jira/Confluence/Bitbucket/Bamboo instances that might live behind the firewall, that's why they have Application Tunnels.
It's wild to me that they OWN an existing solution (even if it's not explicitly designed for it) that would help companies that need to bridge the gap, but just kind of buried it. (Ok, with the fact that OpsGenie is going away, again, I should not be surprised.)
But SERIOUSLY did nobody bring this up to their CSM or TAM, sorry Advisory Manager, and nobody was like "Oh hey, we have this thing that might help with that? And huh, it's already built and stuff."
Oof.
So yeah, please vote. OKTHX.
</soapbox>
Darryl Lee
Sr. Atlassian Systems Engineer
Roku, Inc.
San Jose, CA
208 accepted answers
4 comments