Building apps for Jira, Confluence, or Bitbucket used to mean juggling infrastructure, authentication, UI frameworks, and deployment pipelines. With Forge, Atlassian has drastically lowered the barrier to entry. You don’t need to spin up servers or manage OAuth flows from day one. Forge gives you a native, secure, and integrated way to build apps directly in the Atlassian cloud.
Here’s a high-level walkthrough of what it takes to go from zero to app in Forge. If you want to get into the weeds with code and setup, Atlassian’s official getting started guide is a good next stop.
First, you’ll need the Forge CLI. It’s your one-stop command center to create, deploy, and manage Forge apps. You can also use it to tail logs, run local previews, and switch environments.
npm install -g @forge/cli
Once installed, authenticate with your Atlassian account and you’re good to go.
Run:
forge create
Choose your stack:
UI Kit – Atlassian-styled components, great for fast prototyping and native look.
Custom UI – Full React front-end with more flexibility and design freedom.
Function-only – Backend logic only; perfect for automations or background agents (yes, even AI agents via Rovo).
You can also skip the scaffolding and register a new app manually with:
forge register your-app-name
One big win for Forge over Connect: you can embed field customizations and interfaces directly inside Jira issue views.
All permissions in Forge are defined in your manifest.yml
. You control what your app can access with a clean list of OAuth scopes. Examples:
permissions:
scopes:
- 'read:confluence-content.summary'
- 'write:jira-work'
Forge apps get baked-in access to Jira and Confluence data without needing to manage OAuth tokens (unless you’re integrating with external APIs).
More details: Forge permissions docs.
From your app’s root folder, deploy with:
forge deploy
To install it into your site:
forge install
Pick your environment, your Atlassian product (Jira, Confluence, or Bitbucket), and you’re up and running.
Pro tip: Updates are lightning-fast. No CI/CD setup required.
For comprehensive instructions on deploying and installing Forge apps, consult the Forge Deployment Guide.
Want to go public? Publishing to the Atlassian Marketplace is much smoother on Forge than Connect:
Less infrastructure to validate
Faster update cycles
Streamlined security review
More on that: Publishing Forge apps.
Forge is great, but it’s not magic. Here are some common roadblocks you might hit.
Function timeout: 25 seconds max for interactive functions
Async timeout: 15 minutes (recently improved!)
Storage: Forge offers several options:
Key-value store – simple, but not transactional
Entity storage – better querying, evolving fast
Relational DB (EAP) – structured data support, still early
Cache / Object storage (EAP) – good for temporary and large objects
Heavy apps dealing with big data or transactional operations will need creative workarounds (batch processing, external services, etc.).
Serverless functions mean you’ll need to rewire your thinking: stateless, event-based logic only.
UI Kit vs Custom UI: UI Kit is quick but limiting. Custom UI gives you freedom, but requires handling auth bridges, loading states, and more.
Forge CLI is robust, but can feel dense at first—especially around environments, logs, and versioning.
Migrations from Connect will often involve rethinking architecture, breaking apart backend logic, and mapping users across platforms.
Forge is evolving fast. New modules, new storage options, frequent releases.
That’s great for innovation. Not so great if your app breaks after an update.
The Developer Console is improving, but still a bit basic when it comes to logs and debugging.
TL;DR: Expect to babysit your app more than you would on a stable backend. But the trade-off is less ops and tighter product integration.
Forge makes it possible to build secure, integrated apps without wrangling infrastructure. If you’re building tools for Jira or Confluence and want to stay inside the Atlassian Cloud ecosystem, it’s the most forward-looking platform out there.
But you’ll need to get comfortable with limits, let go of old patterns, and embrace the Forge way: declarative configs, serverless logic, and fast iteration.
Up next in our Forge series: Future of Forge and infographics (all you need to know about Forge, but afraid to ask)
Learn more about Smart Checklist on Forge
Viktoriia Golovtseva _TitanApps_
Senior Content Writer & Marketer
Railsware
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
0 comments