Is it possibel to make backend api.atlassian.com as ingress?

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? :face_with_monocle:

2 Likes

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

1 Like

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

2 Likes

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);

1 Like