You can define your own user interface using UI Kit or Custom UI.
For UI Kit apps, the Forge platform bundles and hosts your source files, enabling your app to render natively within Atlassian apps using React components from @forge/react. See the UI Kit documentation for more details.
For Custom UI apps, the Forge platform hosts your static resources, enabling your app to display within an iframe. Custom UI apps inherit modern security features to ensure high trust between Atlassian, developers, and users. See the Custom UI documentation for more details.
The resources section of your manifest.yml controls the configuration of assets that
you want to display in your app.
| Property | Type | Required | Description |
|---|---|---|---|
key |
| Yes | A key for the resource, which other modules can refer to. Must be unique within the manifest and have a maximum of 23 characters. Regex: |
path |
| Yes | For UI Kit, this is the relative path from your app's root directory to the source file containing your app (for example, |
1 2resources: # list below the static resources entries for your UI Kit app - key: my-resource-1 path: relative/path/to/resource/index.jsx
1 2resources: # list below the static resources entries for your Custom UI app - key: my-resource-1 path: relative/path/to/resource/one/directory - key: my-resource-2 path: relative/path/to/resource/two/directory
A full example of a module using resources would look like:
1 2modules: jira:issuePanel: - key: hello-world-panel title: UI Kit App render: native description: A Forge app with resources resource: my-resource-1 # link to the resources listed below app: id: "<your app id>" resources: # list below the resource entries for your app - key: my-resource-1 path: relative/path/to/resource/index.jsx
See this step-by-step tutorial to start building a UI Kit app in Confluence and Jira, or this tutorial to start building a Custom UI app in Jira.
To enable your app to access remote resources, you need to add egress permissions to whitelist those resources. For more information, see Permissions.
Rate this page: