Last updated Feb 22, 2024

What is Forge

Forge is our new development platform that helps you build a secure Jira and Confluence Cloud app quickly and easily. We recommend Forge if you're building your first Atlassian cloud app, or you want to reduce infrastructure and hosting overhead.

Forge provides built-in security, Atlassian-hosted infrastructure, and UI extensibility options. It also offers a streamlined DevOps experience with development, staging, and production environments.

You'll write your app with serverless Node.js functions, manage the app with the Forge CLI, and create the front end with either custom UI or UI kit components.

Forge makes it possible to build a fully-functional app in just a few hours, with hosting, multiple development environments, and API authentication built-in. Forge can be used to build custom apps and integrations or apps distributed through the Atlassian Marketplace.

Forge Platform Concepts

This page introduces you to some of the basic concepts in Forge which will be useful to understand for the first quest.

UI Options in Forge

Forge offers two options for building the user interface of your apps: custom UI and the UI kit. These options differ in terms of the complexity of the interactions and visual features that they cater for. Both custom UI and UI kit apps inherit modern security features to ensure high trust between Atlassian, developers, and users.

In Forge Quest, the focus will be on UI Kit 2.

UI Kit 2

UI Kit 2, our latest offering for building the user interface of your Forge app, brings a range of new features and benefits. It provides the same benefits of UI kit, such as native rendering and ease of use, but with enhanced performance and features.

See the About UI Kit 2 page to learn more.

UI Kit

UI kit is designed for Forge apps with simpler user cases. The UI kit lets you easily build intuitive and familiar interfaces by composing built-in Atlassian components. Hooks and event handlers enable UI kit apps to handle user interactions and return views dynamically from the server, where the UI kit code is executed.

See the UI Kit concept page to learn more.

Custom UI

Custom UI is designed for complex use cases and increased developer flexibility. Using custom UI, you can define your own user interface using static resources, such as HTML, CSS, JavaScript, icons, and images. The Forge platform hosts your static resources, enabling your app to display custom UI on Atlassian products.

See the Custom UI concept page to learn more.

Authentication

Forge controls the app runtime, which enables it to provide managed APIs that apps can use to make secure calls to REST APIs.

Using managed APIs means that third-party code is never trusted with user credentials. API calls are automatically authenticated on behalf of the app by the surrounding Forge infrastructure.

Scopes

Forge apps use OAuth 2.0 protocols when authenticating with Jira platform, Jira Software, and Confluence REST APIs.

Scopes are an OAuth 2.0 mechanism that enables an app to access the data manipulated by a REST API operation. To access an Atlassian product operation that uses OAuth 2.0 authentication, the app needs to request the scopes required by the operation in the manifest file. Scopes then provide administrators and users information about the data an app accesses. This enables administrators and users to decide whether they want to install the app.

See Add scopes to call an Atlassian REST API for details.

Product Bridge API

The product bridge API is a JavaScript API that enables custom UI and UI Kit 2 apps to securely integrate with Atlassian products.

See Product Bridge API reference documentation for the available bridge API methods.

Manifest

The manifest is a YAML file (manifest.yml) that describes your Forge app. It includes the modules your app wants to use, the permissions required by your app, and other information about your app.

It’s created when you run the forge create command in the Forge CLI.

You can learn more about it on the Manifest page.

Modules

Modules are defined in the manifest, and they describe how Forge apps extend and interact with Atlassian products.

Here are some examples of what you can do with Forge modules:

  • Create new custom fields in Jira
  • Display app content in Confluence pages and blogs
  • Use webhooks to listen for events

To learn more about Modules see the Modules page.

Next - Preparing for your first quest

Now that you've learned about the Forge platform, and some of the important platform concepts you're ready to prepare your development environment.

Rate this page: