Display conditions
Permissions

Rate this page:

Manifest

The manifest contains three required top-level properties: app, modules, and permissions, and number of optional properties. For example:

1
2
app:
  id: "ari:cloud:ecosystem::app/406d303d-0393-4ec4-ad7c-1435be94583a"
  licensing:
    enabled: true 
PropertyRequiredDescription
appYes

Identifying information, licensing details, and app storage (EAP).

See App to learn more.

modulesYes

A list of the modules used by the app.

See Modules to learn more.

permissionsYes

A list of the permissions required by the app.

See Permissions to learn more.

connectModules

A list of the Connect modules used by the app.

endpoint

(Preview: Forge remote) A list of remote endpoints referenced by remote resolver invocations.

See Endpoint to learn more.

providers

Authentication providers used by the app.

See Providers to learn more.

remotes

A list of remote services required by the app.

See Remotes to learn more.

resources

A list of the resources used by the app.

See Resources to learn more.

App

The app dictionary contains properties about your Forge app. Some of these are populated as part of the forge create command (for example, id).

PropertyRequiredDescription
idYesA unique Atlassian resource identifier (ari) assigned to your app.
connect

Details specific to Forge apps that have migrated from Connect.

This is required if the manifest has connectModules.

See Connect to learn more.

licensingNo

The app's licensing state. To enable licensing for your app, add the enabled field attribute and set its value to true.

See licensing to learn more.

runtimeNo

Settings relating to the Forge runtime.

See Runtime to learn more.

storage No

A list of custom entities and their respective indexes.

See Storage to learn more.

Runtime

The new native Node.js runtime is now in preview, and will eventually replace Forge’s current runtime environment. We strongly encourage you to test your apps on this new runtime for compatibility and performance.

This new runtime introduces several changes to the way security and egress controls work. Sandboxing and snapshots (including related settings and restrictions) are no longer relevant in the new runtime as well. These changes may result in additional developer responsibilities to help uphold Forge's security.

The runtime property lets you configure the Forge runtime using the following settings (both optional):

SettingTypeDescription
snapshotsbooleanWhether a snapshot of the app is taken at deployment time. Default value is true. This setting will no longer be relevant in the new native Node.js runtime (Preview).
name (Preview)string

Lets you specify a different runtime environment on which to deploy your app. Currently, the only valid value for this is nodejs18.x, which specifies the new native Node.js runtime (currently in Preview).

For more information about testing this runtime, see New native Node.js runtime (Preview).

Storage

Custom entities and complex queries are now available as preview features. You can now use them on production apps, although any breaking changes are now subject to a 1-month deprecation.

To request assistance or report any bugs, visit Developer and Marketplace support.

This section describes 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 storage property lets you set custom entities for your app. Custom entities are user-defined data structures for storing app data. Forge's storage API lets you query data stored in these structures using a wide array of query conditions. These query conditions make it possible to build advanced, complex queries to suit your app's operations.

For more detailed information about custom entities and complex queries, see Complex queries (preview).

Connect

Connect apps that have adopted Forge modules can include Connect modules and a Connect key.

PropertyRequiredDescription
keyYes

A key to identify the Connect app and its components.

key is environment specific. See how to manage environments in the Migrate an app from Connect to Forge tutorial.

Note: The production environment of the app must match the Atlassian Marketplace key.

remote

The key of the remotes entry that holds the Connect app baseUrl.

This is required if the manifest has connectModules.

authentication

Defines the authentication type to use when making requests from the connect app server to the host application

jwt or oauth2 (default value is jwt)

Example

1
2
remotes:
  - key: connect-app-server
    baseUrl: https://hello-world-app.example.com
app:
  connect:
    key: hello-world
    remote: connect-app-server
    authentication: jwt

Rate this page: