EXPERIMENTAL
EXPERIMENTAL: Global UI Kit components are currently in an experimental phase. The APIs and features are subject to change without notice and are not recommended for production use. Use these components for testing and feedback purposes only.
Global apps deliver a full-page experience inside Confluence or Jira using full page modules (confluence:fullPage or jira:fullPage) and the Global UI Kit component. Unlike embedded modules that live inside existing pages (such as issue panels or page macros), a global app gives you a full page with complete layout control, app-wide context, access from the Apps menu or URL, routing for multiple views, and custom navigation—suitable for custom dashboards, admin tools, or other full-page workflows.
This guide walks you through building your first global app: creating the app, building the frontend with header, sidebar and main content, and deploying to see it in action.
Make sure you have the following:
@forge/react: 11.10.0 or later. To update, run npm install @forge/react@latest --save in your app directory.@forge/cli: 12.13.1 or later. To update, run npm install -g @forge/cli@latest on the command line.Check your Forge CLI version:
1 2forge --version
Update the CLI to the latest version:
1 2npm install -g @forge/cli@latest
Ensure you have the latest version of UI Kit:
1 2npm install @forge/react@latest --save
Navigate to the directory where you want to create the app.
Create your app by running:
1 2forge create
Select or create a Developer Space.
Enter a name for your app (for example, my-global-app).
Select Confluence or Jira as the product.
Select the UI Kit category.
Select the confluence-full-page or jira-full-page template.
Change to the app subdirectory:
1 2cd my-global-app
This creates a new app with all the files you need to build a global app.
The template created a manifest.yml file with everything you need. You can customize or add the following if you want:
title: The app title that appears in the header and apps menuicon: The logo that appears in the header and apps menuroutePrefix: URL path for your app (default: hello-world)The manifest already includes:
confluence:fullPage or jira:fullPage)src/frontend/index.jsxYou can skip this step and come back later if needed.
Open src/frontend/index.jsx and replace the entire file with:
1 2import React from 'react'; import ForgeReconciler, { Global, Text, Heading, Box } from '@forge/react'; const App = () => { return ( <Global> <Global.Sidebar> <Global.LinkMenuItem label="Dashboard" href="" /> <Global.LinkMenuItem label="Reports" href="reports" /> <Global.LinkMenuItem label="Settings" href="settings" /> </Global.Sidebar> <Global.Main> <Box padding="space.300"> <Heading size="large">Welcome to your global app!</Heading> <Text>You now have a full-page app with header, sidebar, and main content area.</Text> </Box> </Global.Main> </Global> ); }; export default ForgeReconciler.render(<App />);
This creates a complete layout with:
Deploy your app:
1 2forge deploy -e development
Install it to your site:
1 2# For Confluence forge install --site <your-site>.atlassian.net --product confluence -e development # For Jira forge install --site <your-site>.atlassian.net --product jira -e development
Install the app in the product corresponding to the full page module you selected. If using jira:fullPage, install in Jira. If using confluence:fullPage, install in Confluence.
Get your app's URL by running:
1 2forge environments list
Full page modules can be accessed using this URL format:
1 2https://<your-site>.atlassian.net/forge-apps/a/<app-id>/e/<forge-environment-id>/r/<route-prefix>/<app-route>
Where to find each value:
<your-site>: Your site name<app-id>: The UUID from your app.id in manifest.yml (if in ARI format like ari:cloud:ecosystem::app/UUID, use only the UUID section)<forge-environment-id>: The UUID of the environment that the app is installed on.
Run forge environments list to find the UUID of the desired environment.<route-prefix>: Defined in your manifest under routePrefix<app-route>: Optional - if your app code contains routing, it will appear under the <app-route> section of the URL.Example:
1 2https://example.atlassian.net/forge-apps/a/21e590df-79e6-40dd-9ee4-ba2c7b678f26/e/9f699e8b-33f1-4fa7-bd48-c5fdc44fa4c2/r/ui-kit
Access your app in one of these ways:
You should see your app with:
For more information about accessing full page modules, see Accessing Confluence full page module or Accessing Jira full page module.
Now that you have a basic global app running, you can:
Add backend functionality:
Enhance your app:
Learn by example:
Rate this page: