Hello,
I want to extend my application to allow creating issues on Jira.
From what I saw I can do this using the REST API but there are multiple ways of interacting with it.
If I understood correctly since I don’t want to extend the Jira UI in any way I should go with OAuth 2.0 APP instead of Forge/Connect or should I go with Forge/Connect even thought I don’t to extend the UI since they seem to be less limited than the OAuth 2.0 Apps.
Thanks in advance.
1 Like
Welcome to the Atlassian developer community @jonymilk,
While there are multiple ways to interact with the REST APIs, when what you want to do is create issues on Jira, the question about Forge, Connect, or OAuth 2.0 doesn’t change much. Your client will mostly create issue using POST /rest/api/3/issue
. And, to make some sense of each customer’s Jira configuration, you’ll probably supplement that with some variation of “createmeta”, a way to ask Jira about the metadata required to create an issue. A simple OAuth 2.0 REST API client should work for your case and I recommend starting with that.
The complexity that you’ll face longer term isn’t directly about REST APIs as much as it is about Jira’s complex model of issues, types, fields, and workflow. If your app might be expected to submit any kind of issue to Jira, then createmeta will fan out into many, many other Jira resources, including some that may be entirely opaque from the REST API. My advice is to tightly constrain what kinds of issues your application will create, with very limited support for variations (such as odd required fields on issues). And ask our mutual customers to configure their Jira issues to suit your integration, not to expect your client code to handle every corner case.
That said, there are a few cases where it is easier/better to build a Connect App (and hopefully soon, a Forge App) than to use OAuth 2.0. Specifically, for security issues, incidents, or post-incident reviews, Jira Software has some specialized interfaces for:
Those are broadly a part of the Open DevOps Experiences.