Hi team,
I’m building a multi-tenant Forge app where different Jira Cloud sites (orgs) install the app via a distribution link.
After installation, I receive and store each org’s cloudId and installerAccountId in my backend.
From my Node.js app, I call a Forge webtrigger function like this:
response = await api.asApp().requestJira(
route`/ex/jira/${cloudId}/rest/api/3/project/search`
);
But this always returns:
401 Unauthorized
x-failure-category: FAILURE_CLIENT_SCOPE_CHECK
/rest/api/3/project/search (without /ex/jira/${cloudId}) works fine inside a tenant context.
/ex/jira/${cloudId} fails even though:
-
The app is installed on that org
-
Scopes include:
read:jira-work,read:jira-user,manage:jira-project,manage:jira-configuration,storage:app -
I re-deployed and re-installed after updating scopes
-
I’m using Forge CLI 12.6.1
Is /ex/jira/${cloudId} supported for webtrigger functions (system-level context)?
If not, what’s the recommended approach to fetch Jira data across multiple installed orgs (multi-tenant setup) from a Forge webtrigger?
Thanks,
Satish Kumar