What is the best option for my JIRA integration?

Hello, I’m new here, I want to write JIRA integration to implement my own nodejs backend, but I’m confused by the options. I just want to send issues and similar events to my own backend regardless of user input. So I want to proceed as an application. I also don’t want to develop modules on separate pages or jira. I just want to send the data to my own backend without user oauth. As far as I understand this doesn’t fit forge.

How can I proceed, can you help?
thanks.

Welcome to the Atlassian developer community @hyorax,

A Forge function can use fetch to send a request to your own Node.js backend and it can use “basic authentication” (which can be HTTP’s basic authentication, or other forms of header-based authentication). That would not require user OAuth on your back-end but you certainly should have some kind of auth mechanism so that your Node.js backend doesn’t accept input from just anything.

hi @ibuchanan,
first of all thanks for your reply.
Basically what I want to do is to implement it like a 3rd party API. Fulfilling requests as an API, not with the user.

thanks

@hyorax,

Forge functions (which can include fetch for outbound requests to your backend) can be invoked by more than just UI. You can automate Jira using triggers based on product events (like creating a new issue) or on a shedule using a scheduled trigger. Or, if you want to send events to a Forge App, there are web triggers too. If those don’t fit, I don’t understand what you mean by “implement it like a 3rd party API.”

@ibuchanan
Think of a scenario.
You will create an application for JIRA and then integrate it into your backend (Node). You’re not going to do anything about the UI. Just rest api events (issues etc) and some user information. You want it to be installed as an application.
What path would you follow?

Thank you for your reply.

@hyorax,

The problem might be in how we understand the 2 constraints you propose:

  1. You want it to be installed as an application.
  2. You have an existing backend or want to write your backend on your own terms.

For the first, there are only 2 options: Forge & Connect. Although the documentation of both may focus on UI extensibility, neither strictly require any UI. They can both just operate on data through the REST APIs and events (triggers and web hooks respectively). But both are fairly opinionated. It’s probably fair to call Forge highly opinionated. Hence, both are somewhat exclusive of the 2nd constraint.

The only approach that satisfies both constraints is to write either Forge or Connect (so there is an install flow) as an “adapter” to your backend (which, behind REST APIs can be written any way you want). Or, relax one of the constraints.

Hi @hyorax,

Thank you for posting your question to the developer community!

There are quite a few options out there in order to sync Jira with any version/flavor of Jira:

  1. Build it yourself approach: here you will need to script out the sync use cases based on the public APIs provided by both platforms.
  2. Use an integration solution: Exalate, among others, specializes in integrating these different ITSM systems, and takes the pain of building and maintaining a solution away from you.

I work for team Exalate. Please feel free to ask any questions if you need further guidance.

Hope it helps.

Thanks,
Dhiren

Thanks for all your answers