Level 1 · Basic
Getting started with Forge
Build a UI Kit panel on Jira work items: it reads the ticket’s summary, asks an outside supplier (API Ninjas) for that dish’s recipe and shows it. On the way you meet resolvers, the manifest, permissions, secrets and product events.
What you’ll build
Pad thai
Recipe card
Pad Thai 4 servings
Ingredients
- 8 oz rice noodles
- 2 tbsp tamarind paste
- 1 cup bean sprouts
Method
Soak the noodles, then stir-fry with the sauce…
A panel called Recipe card on every work item in your Kitchen space. It reads the dish named in the work item’s summary, buys that dish’s recipe from an outside supplier, API Ninjas, and lays it out: title, servings, ingredients and method. When something goes wrong it says what, in plain words.
Behind the card, the supplier’s key sits in an encrypted variable, the app may only call the hosts and read the data its manifest lists, and a bell checks every new dish ticket with nobody watching.
Plan on about three hours, with breaks. Every lesson ends with the code as it should be, to download if you fall behind.
What each lesson adds
Lesson 1: create the app from a template, deploy it and install it. Its panel appears on every work item.
In the kitchen: Lesson 1: open from a standard floor plan. A card is clipped to every dish ticket.
Lives on your laptop · Home kitchen
Forge CLI The delivery van
The forge command on your laptop. It creates, deploys, installs and tunnels your app.
The only thing that carries your playbook from your home kitchen into the building.
Where the course explains it · Atlassian: Forge CLI reference (opens in a new tab)
Select any box in the diagram to see what it is.
Create the app. A template gives you a working app: a panel on every work item, and a resolver it can call. You deploy it and install it on your site.
Cook from home.
forge tunnelruns the code from your laptop while Jira keeps calling it, so you can lay out the card with UI Kit and see every save.Lock the key in the safe. The supplier’s key goes into an encrypted variable before any code needs it.
Call the supplier. The resolver asks API Ninjas for the recipe. The manifest has to allow the host, which makes a new major version to approve.
Lay out the card. The card handles every answer: still waiting, a problem, nothing found, or the full recipe.
Read the ticket. The resolver reads the dish from the work item itself, as the person looking at it, with a scope
forge lintadds for you.Hang the bell. A trigger runs code whenever a dish ticket is created, and you read what it did in the logs.
The lessons
- Lesson 0: Get ready for Level 1An API Ninjas key, a Kitchen space in Jira and one dish ticket. Everything Level 1 needs on top of the general setup.
- Lesson 1: Create the appCreate 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.
- Lesson 2: Cook from homeRename the panel, then lay out a sample recipe card with UI Kit while forge tunnel shows every save on the site, without a deploy.
- Lesson 3: Lock the key in the safeStore the API Ninjas key as an encrypted variable before any code uses it, so it never sits in a file, a commit or the browser.
- Lesson 4: Call the supplierWrite a small module that asks API Ninjas for a recipe, have the resolver use it, let the card ask for it, and put the supplier on the app’s approved list.
- Lesson 5: Lay out the cardMake the cook report problems instead of failing silently, then give the card a waiting state, an empty state, an error state and the full recipe.
- Lesson 6: Read the ticketRead the dish from the work item’s own summary, as the person looking at it, and let forge lint add the permission that needs.
- Lesson 7: Hang the bellRun code when a dish ticket is created, with nobody looking at a card, and read what it did in the kitchen log.