Last updated Nov 21, 2022

Rate this page:

Tutorials and Guides

Work through these tutorials to learn more about developing on Forge.

Automate Jira with triggers

This tutorial describes how to create a Forge app, and install it in a Jira Cloud site. The app responds to issue created events in Jira and adds a comment to the created issue. You’ll learn about product events, the runtime API, and tunneling.

See Automate Jira using triggers.

Migrate an app from Connect to Forge

This tutorial explores migrating an app from Connect to Forge. Beginning with a Connect basic app using the issue glance module, you'll learn how you can migrate the app to use either Forge features or Connect-on-Forge features, while preserving the app key.

See Migrate an app from Connect to Forge.

Set up continuous delivery for Forge apps

This tutorial describes how to create a continuous delivery workflow for your Forge app (which you could later integrate into a CI/CD pipeline). It includes a reference Bitbucket Cloud pipeline configuration for a hello world app built in Forge. It also includes general guidance for GitHub users.

See Set up continuous delivery for Forge apps

Build a custom UI app in Confluence

This tutorial walks you through creating a Forge app that displays custom UI content on a Confluence page. Using custom UI, you can define your own user interface using static resources, such as HTML, CSS, JavaScript, and images. The Forge platform hosts your static resources, enabling your app to display custom UI on Atlassian products. Custom UI apps inherit modern security features to ensure high trust between Atlassian, developers, and users.

You’ll learn how to create a Forge app in Confluence that uses custom UI to display customized UI content.

See Build a custom UI app in Confluence.

Build a custom UI app in Jira

This tutorial walks you through creating a Forge app that displays custom UI content in a Jira issue. Using custom UI, you can define your own user interface using static resources, such as HTML, CSS, JavaScript, and images. The Forge platform hosts your static resources, enabling your app to display custom UI on Atlassian products. Custom UI apps inherit modern security features to ensure high trust between Atlassian, developers, and users.

You’ll learn how to create a Forge app in Jira that uses custom UI to display customized UI content.

See Build a custom UI app in Jira.

Build a custom UI app in Jira Service Management

This tutorial walks through creating a Forge app to display content on the queues page of Jira Service Management. Using custom UI, you can define your own user interface using static resources, such as HTML, CSS, JavaScript, and images. The Forge platform hosts your static resources, enabling your app to display custom UI on Atlassian products. Custom UI apps inherit modern security features to ensure high trust between Atlassian, developers, and users.

You’ll learn how to create a Forge app in Jira Service Management that uses custom UI to display customized UI content.

See Build a custom UI app in Jira Service Management

Check whether Jira issues are assigned using a workflow validator

This tutorial describes how to create a Forge app that checks whether Jira issues are assigned when transitioned. You'll learn how to use the Jira workflow validator module, and how to retrieve issue details from the Jira REST API.

See Check whether Jira issues are assigned using a workflow validator.

Create a GIPHY app using the UI kit

This tutorial describes how to make API calls to an external API from your Forge app and display the result on a Confluence Cloud page. You’ll use the GIPHY API to display GIFs on the Confluence page using the UI kit. You’ll learn about the UI kit, environment variables, and making anonymous requests.

See Create a GIPHY app using the UI kit.

Use content actions to count the macros in a Confluence page

This tutorial describes how to create a Forge app that displays the number of macros in a Confluence page. The app retrieves the body of the page, counts the number of macros, then displays the result in a modal dialog. A user triggers the action from an entry in the more actions (...) menu.

See Use content actions to count the macros in a Confluence page.

Use highlighted text in a Confluence Forge app

This tutorial describes how to make a Forge app that uses highlighted text from a Confluence page. You'll learn about the Forge confluence:contextMenu module, and how to output a selected text inside the app.

See Use highlighted text in a Confluence Forge app.

Use space settings and content byline item to implement space news

This tutorial describes how to create a Forge app with two modules, where an admin can create news content using spaceSettings module, and make the news content available using contentBylineItem.

See Use space settings and content byline item to implement space news.

Use the app storage API in a Confluence macro

This tutorial describes how to build Forge app that can display a list of acronyms and associated definitions in a Confluence macro. Definitions for the acronyms are stored within the app storage service and shared with other macros across the whole Confluence site. You'll learn about using the storage API from a Forge function and how to integrate storage with a UI kit app.

See Use the app storage API in a Confluence macro

Use an external OAuth 2.0 API with fetch

This tutorial describes how to call an external API using the Forge fetch function with OAuth 2.0 authentication handled by the Forge platform.

See Use an external OAuth 2.0 API with fetch.

Guides

The guides section provides quick references for common tasks when working with Forge.

Add configuration to a macro

This page describes how to add configuration to an existing macro. The configuration enables users to customize what displays in the macro.

See Add configuration to a macro.

Add routing to a full page app

This page describes how to add routing to a full page app created with Forge, using React and React Router. Routing enables your app to manipulate the current page URL. Routing may be used to enable users to link directly to certain parts of your app.

See Add routing to a full page app.

Add scopes to call an Atlassian REST API

This page describes how to add scopes to your Forge app to call an authenticated Atlassian REST API as a user or as your app.

See Add scopes to call an Atlassian REST API.

Extending your app with a scheduled trigger

This page describes how to add a scheduled trigger to your Forge app while using a web trigger for developing your function.

See Extending your app with a scheduled trigger.

Promote an app to staging or production

This page describes how to deploy your Forge app into the staging or production environments and what extra protections are active in these environments.

See Promote an app to staging or production.

Implement a dynamic profile retriever with external authentication

Apps implementing external authentication may import the external profile to provide a rich app experience. This guide demonstrates how to configure the dynamic profile retriever to expose a Google account as an AuthProfile to use in a Forge app.

See Implement a dynamic profile retriever with external authentication.

Rotating an OAuth 2.0 client ID and secret

Apps using external authentication require external client ID and secret values. This guide contains the rotation procedure and highlights considerations for your users.

See Rotating an OAuth2 client ID and secret.

Common issues with external authentication

External authentication has lots of moving parts that can lead to confusing error conditions. This guide includes some common errors and issues you may face while developing your app.

See Common issues with external authentication.

Understanding UI modifications

This module is very complex and to use it properly it's crucial to understand the broader context and all the moving parts that we provide.

See Understanding UI modifications.

Rate this page: