The endpoint module type specifies properties of an endpoint such as its authorization, the key of the
remote that hosts the endpoint, and the route to that endpoint relative to the remote's base URL.
You can use endpoint to define a Forge-hosted containerised service
that your app can call via REST API. This capability is now in Preview.
See Forge Container services reference: manifest for more details.
To implement custom functionality in your Forge app using a remote resolver, specify the endpoint key in the
endpoint property of the resolver object for the module.
| Property | Type | Required | Description |
|---|---|---|---|
key | string | Yes | A key for the endpoint, which other modules can refer to. Must be unique within the list of endpoints and have a maximum of 23 characters. Regex: |
remote | string | Yes (for remotes) | The remote key that defines the base portion of the path for this endpoint. This is required if your endpoint is targeting a Forge Remote. |
service (Preview) | string | Yes (for services)
| The key of the containerised service that defines the base portion of this endpoint's path. This is required if your endpoint is targeting a containerised service provisioned through Forge Container services. |
route | {path:string} | No | The path appended to the This property is only required for backend module endpoints. UI module remote resolver endpoint paths are always specified in invokeRemote requests in the app's front end. |
auth | object | No | An object that defines the authentication tokens to include when invoking this endpoint's remote backend. This property applies when the endpoint is invoked from a frontend module (via invokeRemote from It does not apply when calling a remote from a Forge function using invokeRemote from |
auth.appUserToken.enabled | boolean | No |
If This token can be used by the remote app when invoking an Atlassian app API, to invoke the API with the permissions of the user in whose login session the app is running. Specifically, the API will have only as much access to the site's data as that user does. For example, if the user does not have permission to see pages in a particular space or issues in a particular project, the API won't provide them access to that space or page, either. Forge modules that run outside of a user's login session, such as an app lifecycle event or product event
are not associated with a user and cannot send an If an endpoint opts to enable remote user token access, the |
auth.appSystemToken.enabled | boolean | No |
If This token can be used by the remote app when invoking an Atlassian app API, to invoke the API with the permissions of the generic "bot user" for the app. If an endpoint opts to enable remote system token access, the |
Modifying the endpoint entries results in a major version upgrade of your app upon deploy. Your app users will again be required to consent to your app's permissions.
The following snippet provides a basic example of an endpoint targeting a Forge Remote service.
1 2modules: scheduledTrigger: - key: remote-scheduled-trigger-boot endpoint: remote-trigger-boot interval: hour endpoint: - key: remote-trigger-boot remote: remote-app-node route: path: /forge-trigger auth: appUserToken: enabled: true appSystemToken: enabled: false
Forge Container services is now in Preview, and therefore fully supported. However, it remains under active development and may be subject to shorter deprecation windows. Preview features are suitable for early adopters in production environments.
We release preview features so partners and developers can study, test, and integrate them prior to General Availability (GA). For more details, see Forge EAP, Preview, and GA.
The following snippet shows a service named java-service, which is backed by a container of the same name. The service is accessible via the /webtrigger route on the webtrigger-ep endpoint module.
1 2modules: webtrigger: - key: container-webtrigger endpoint: webtrigger-ep endpoint: - key: webtrigger-ep service: java-service route: path: /webtrigger services: - key: java-service containers: - key: java-service tag: latest resources: cpu: "1" memory: "2Gi" health: type: http route: path: "/healthcheck" scaling: min: 1 max: 1
Customer-managed egress and remotes is now available as a Forge Preview feature.
Preview features are deemed stable; however, they remain under active development and may be subject to shorter deprecation windows. Preview features are suitable for early adopters in production environments.
We release preview features so partners and developers can study, test, and integrate them prior to General Availability (GA). For more information, see Forge release phases: EAP, Preview, and GA.
The following manifest shows an endpoint that uses a customer-managed remote denoted by the configurable field.
1 2modules: webtrigger: - key: customer-managed-remote-webtrigger endpoint: dynamic-remote-healthcheck endpoint: - key: dynamic-remote-healthcheck remote: my-remote route: path: /healthcheck remotes: - key: my-remote configurable: name: webtrigger /healthcheck description: A remote that will call /healthcheck from a webtrigger operations: - compute
Rate this page: