I tried posting this earlier but it looks like it never made it.
I have a dashboard gadget to gamify sprint progress. It's been working fine and then this morning it suddenly stopped. It now displays:
For Gamify Personal Progress to display, you need to grant it access to Atlassian apps on your behalf. [Allow access]
(And clicking allow access and going through the steps changes nothing, I tried.)
I checked the logs and it started happening at Oct 22, 2025 16:06:35.509 UTC (That's when we came into work this morning. There was no other error in the last week. It looks like something happened overnight.)
The logged error is:
[NEEDS_AUTHENTICATION_ERR: Authentication Required] {
status: 401,
serviceKey: 'atlassian-token-service-key',
options: undefined
}The application is deployed to Forge and uses the asUser routing to allow it to find the user's own items. However, I did a re-deploy replacing all asUser with asApp and that did not resolve the issue.
My endpoints in use are:
route`/rest/agile/1.0/board/${BOARD_ID}/sprint?state=active`
route`/rest/agile/1.0/board/${BOARD_ID}/project`
route`/rest/api/3/search/jql`
route`/rest/api/3/field`The scopes in the manifest.yml are:
- read:sprint:jira-software
- storage:app
- read:jira-work
Once again, this has been working and there were no changes to permissions, nor was there any re-deploy of the code. It just broke overnight.
I've already tried altering the permissions, refreshing my personal API key and re-deploying, and changing all requests to asApp instead of asUser. None had any impact. Clicking the Allow access button has no effect.
Any other ideas?
Thanks!
Adding to this... When I go through the procedure to "Allow access" it opens a new tab. When I allow access on that tab, it closes and the original tab tries to reload the gadget. At that time, this error shows up in the log. Looks like the authorization is bugging out:
App.tsx:45 Uncaught (in promise) Error: Expected reject to be called with Error, got [object Undefined] at t.reject (https://jira-frontend-bifrost.prod-east.frontend.public.atl-paas.net/assets/async-forge-ui-dashboard-gadget-extension.bc9d1b3a.js:293:87140) at https://jira-frontend-bifrost.prod-east.frontend.public.atl-paas.net/assets/async-forge-ui-dashboard-gadget-extension.bc9d1b3a.js:293:86662
Error: Expected reject to be called with Error, got [object Undefined] at he.error (https://forge.cdn.prod.atlassian-dev.net/global-bridge.js:2:131452) at Object.<anonymous> (https://forge.cdn.prod.atlassian-dev.net/global-bridge.js:2:139225) at JSON.parse (<anonymous>) at Oe.o (https://forge.cdn.prod.atlassian-dev.net/global-bridge.js:2:139084) at Oe (https://forge.cdn.prod.atlassian-dev.net/global-bridge.js:2:139237) at Me.s.on (https://forge.cdn.prod.atlassian-dev.net/global-bridge.js:2:143897) at Me (https://forge.cdn.prod.atlassian-dev.net/global-bridge.js:2:144034) at https://forge.cdn.prod.atlassian-dev.net/global-bridge.js:2:150020 at e.try (https://forge.cdn.prod.atlassian-dev.net/global-bridge.js:2:122504) at https://forge.cdn.prod.atlassian-dev.net/global-bridge.js:2:149817
That still doesn't answer why it suddenly started failing overnight for all users, but I guess it could be relate.d
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.