Level 1 · Lesson 1
Create the app
Level 1 · Lesson 1Create a Forge app from the Jira issue panel template, deploy it, install it on your developer site and see its panel on the Pad thai ticket.
By the end of this lesson every work item in Jira can show a small panel that says hello. It is the template’s panel, untouched; the rest of Level 1 turns it into the recipe card. First, watch the journey the code takes from your laptop to Jira.
forge deploy packs your code and manifest.
In the kitchen: The van loads the playbook and licence.
Lives on your laptop · Home kitchen
Your code The playbook
The JavaScript in your app folder: the frontend that draws the UI and the functions that run in the cloud.
How your kitchen works, written down. Not to be confused with recipes, which come from the supplier.
Select any box in the diagram to see what it is.
Step 1: Create the app from a template
Locked until the step before it is done.
Lives on your laptop · Home kitchen
Template (forge create) · a standard floor plan
forge create registers a new app with Atlassian and copies a working starter into a new folder. You pick the starter by product and module. The rest of the course changes that folder; you never start from a blank file.
In the kitchen Opening from a standard floor plan: everything is wired, so you can cook on day one.
In your terminal, go to the folder where you keep projects and run:
forge createAnswer the prompts:
- Developer Space: pick yours, or choose to create one and give it a name. The space owns the app.
- App name:
Mise en place. The CLI makes the folder name from it:Mise-en-place. - Terms: read the Developer Terms and accept them.
- Template: choose Jira, then UI Kit, then jira-issue-panel.
$ forge create ? Select or create a Developer Space: Kitchen course ? Enter a name for your app: Mise en place ? Do you accept? Yes ? Select an Atlassian app or platform tool: Jira ? Select a category: UI Kit ? Select a template: jira-issue-panel ✔ Created Mise en place Change to directory Mise-en-place to see your app files.
Stuck? “Command failed due to validation error” · The CLI says it is out of date, or forge tunnel mentions ngrok
Next step: next
Step 2: Look at what the template made
Locked until the step before it is done.
Open the new folder in your editor:
Mise-en-place
├── manifest.yml
├── package.json
├── node_modules/
└── src
├── index.js
├── frontend
│ └── index.jsx
└── resolvers
└── index.jsThe template may add a README or an AGENTS.md file too; they are notes, not code. Four files matter, and they are the same four the home page walks through clue by clue in How the files connect: the panel’s UI, the manifest, the entry point and the resolver.
Every command from now on runs inside this folder:
cd Mise-en-placeNext step: next
Step 3: Deploy the app
Locked until the step before it is done.
Deploy it without changing anything. This uploads the code and the manifest as the first version of the app, in the development environment.
forge deploy$ forge deploy Deploying Mise en place to development... ℹ Packaging app files ℹ Uploading app ✔ Deployed Deployed Mise en place to the development environment.
Stuck? “Command failed due to validation error” · “Unable to get local issuer certificate”
Next step: next
Step 4: Install it on your developer site
Locked until the step before it is done.
forge install adds the app to one site and product, once.You open at one location, once.forge installChoose Jira, type your developer site’s address, such as your-name.atlassian.net, and confirm. On a demo site from forge site provision, forge install --demo-site picks the site for you. You install once per site and product; every later deploy reaches the site by itself.
$ forge install ? Select an Atlassian app or platform tool: Jira ? Enter the site URL: your-name.atlassian.net ? Do you want to continue? Yes ✔ Install complete!
Stuck? `forge install` warns about installing a development app on a production site · `forge site provision` is not available or fails
Next step: next
Step 5: Open the panel on the Pad thai ticket
Locked until the step before it is done.
Runs in the browser · Front of house
Issue panel (jira:issuePanel) · the recipe card
jira:issuePanel is a module that adds your UI to the work item view. The first time, Jira shows only the app’s button below the summary; once someone opens the panel, it stays on that work item. Its title in the manifest is the heading Jira draws above your UI.
In the kitchen A card clipped to every dish ticket, filled in by your kitchen.
- Open the Pad thai work item.
- Below the summary, find the app’s button and select it once.
The panel opens with two lines. The first is fixed text in src/frontend/index.jsx. The second came from the cloud: the panel called invoke('getText'), the resolver answered 'Hello, world!', and the panel showed it. That round trip is what every lesson after this one builds on.
Mise en place
Hello world!
Hello, world!
Stuck? I can’t see the recipe card on the work item
Next step: next