manifest.yml
external:
fetch:
backend:
- address: api.atlassian.com
manifest.yml
external:
fetch:
backend:
- address: api.atlassian.com
In Forge, external.fetch.backend is egress only (outbound allowlist). It allows your app to call external domains, but it does not create an ingress endpoint.
So no, you can’t configure api.atlassian.com as ingress in the manifest.
Ingress in Forge is handled through mechanisms like web triggers or product modules/events, not via external.fetch.
What are you trying to achieve exactly? ![]()
when using it, my app is not Run on Atlassian. What I expect is to make my new app Run on Atlassian.
If you want to verify whether your app qualifies for Runs on Atlassian, you can use the Forge CLI eligibility check:
forge eligibility
This command will analyze your app and tell you whether it meets the Runs on Atlassian requirements, and if not, why.
You can find more details here:
https://developer.atlassian.com/platform/forge/runs-on-atlassian/
Could you run that command and share the output? That will make it much easier to understand what’s preventing your app from qualifying.
Hi @FabienPenchenat thanks for your reply. Here’s the forge eligibility result
forge eligibility
✔ Checking eligibility...
ℹ The version of your app [9.9.0] that's deployed to [development] is not eligible for the Runs on Atlassian program.
- App is egressing data
and the reason is that I used:
external:
fetch:
backend:
- address: api.atlassian.com
I think api.atlassian.com is Atlassian official and shouldn’t be egressing data
Hi @YY1
If you’re calling Jira or Confluence APIs, you should not use external.fetch.backend at all.
Instead, you should use the Forge API:
import api, { route } from "@forge/api";
await api.asApp().requestJira(route`/rest/api/3/issue/${issueKey}`);
When you use @forge/api with route, the request stays within the Atlassian platform boundary and does not count as external egress. This means it will not break Runs on Atlassian eligibility (https://developer.atlassian.com/platform/forge/runtime-reference/fetch-api/)
If you’re in this situation or something similar, the fix is likely:
Remove api.atlassian.com from external.fetch.backend
Use @forge/api instead of raw fetch
I’m using some graph api which doesn’t provide the use @forge/api with route. I have to use fetch method.
When you say some graph API, could you specify which one exactly?
Are you calling the Atlassian platform GraphQL API (https://api.atlassian.com/graphql), or a different Graph-based endpoint?
If it’s the Atlassian platform GraphQL API, you don’t need to use raw fetch. Forge provides requestGraph, for example: const response = await api.asApp().requestGraph(query);