Very confused, trying to integrate Jira into our app using the REST API

I’m very confused, so I will try to be brief.

Background:

  • Writing a Golang app that integrates Jira using your REST api.
  • Using Oauth2 client

I want to know, first of all. What is Jira Cloud? Is it different to Jira Platform? The permissions tab for my app lists a “Jira platform REST API”, “User REST API”, but nothing about cloud. This document https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/ talks about “Jira cloud platform REST API”. Is it the same as “Jira platform REST API”?

Next. If I understand correctly, a user can join many organizations in Jira. The document above, REST API (atlassian dot com/cloud/jira/platform/rest/v3/intro), does not mention any organization. If I search for Organizations, I find this https://developer.atlassian.com/cloud/admin/organization/rest/intro/ so the organizations data is in a different API?

This document says “You can use the same API key for the organizations REST API and the user management REST API”. Is the “User management REST API” the same as “User REST API” that I see in my developer console > app > permissions tab?

Please help me answer these questions so I can start to make sense of all this.

Much appreciated! Have a great day!

Hi @Octopus. Welcome to the community.

I want to know, first of all. What is Jira Cloud? Is it different to Jira Platform?

So, if you’re creating a 3LO or Forge app, it will be for our cloud products only. Jira Cloud refers to our cloud-based product offering, as opposed to our Jira Server & Data Center on-premises products. All of those APIs you see listed on the Permissions tab of the developer console are for our cloud-based products.

Next. If I understand correctly, a user can join many organizations in Jira. The document above, REST API (atlassian dot com/cloud/jira/platform/rest/v3/intro), does not mention any organization

You’ll most likely not be using/needing the Organizations API. That set of APIs is for managing products & users, and in fact, is not accessible to 3LO apps. Lets skip over that.

Going back to the Permissions page, this is essentially a laundry list of all the things that your 3LO app can access. You should only pick the products and features that are absolutely necessary. Once you select the ones you need, each of these will end up as scopes in the authorization request URL… which kicks off the OAuth dance, and eventually leads to the end user being presented with the screen asking for their consent to grant your app access to that data.

Select a few APIs in the permissions, and then head to Authorization tab, then click the Configure button:

And at the bottom of the next screen, you’ll see the authorization URL generator:

And in that URL, you’ll see scope=read:jira read:jira-work, etc. Those are all of the scopes that you selected/configured. You should be able to paste that URL into a different tab and see the consent flow.

2 Likes

Thank you Neil! This has been very helpful. I will read more documentation and bother you again if I have any further questions :smiley:

Have a nice weekend!

1 Like