As I have already documented here, I was (and still am) having trouble using Forge apps on my Jira Cloud instance that were created, deployed, and installed by a service account.
It was to my surprise that I couldn’t also use forge apps that I created, deployed, and installed with my own user as well:
Ok, I’ll provide the ID of one app, but honestly, that problem is happening with severall other apps as well (basically all apps I tried creating with either my company’s service account or my own user account).
Hi @LucasXavierFerreira, thanks for providing us with your appId, I was able to look into the logs and I found a scope read:field.options:jira which doesn’t seem like it is being registered correctly, I will need to bring this up with the Jira team.
In the meantime I wanted to ask you:
if you needed to use the granular scope in particular or if you could opt to use the classic scope equivalent (classic scopes are recommended over granular scopes currently).
if you required the read:me scope, if not, removing it will allow auto consent, so you don’t need to go down the consent screen.
Hi @BoZhang, thanks for the reply. I’m not sure I understand, though. Should I remove the read:field.options:jira and the read:me scopes from the app manifest.yml file?
Hi @LucasXavierFerreira, I am asking if you need to use those particular scopes; if they are not required, then removing them from your app should get you out of being stuck in the consent loop and seeing the consent screen altogether.
But this depends on what your app requires; if you are calling an API that requires these scopes, they will need to remain in your app’s manifest for it to work.
To add a bit more detail:
The read:me scope stops automatic consent and you will be shown a consent screen. Your app should still function; you will just have to go through the consent screen.
The read:field.options:jira is broken on our end, I’ve notified the Jira team about this one. In the meantime, if you are able to use the classic scope equivalent that should work (the documentation should tell you what the classic scope equivalent for a particular API is, for example)
Hi @LucasXavierFerreira, I’m glad to hear that it’s now working with your own apps. What error are you seeing with the apps created by your service account?