Jira shows you WHAT blocks your work. Unjam shows you WHO can unblock it — and writes the ask for you.
A blocked Jira issue does not fail loudly — it just stops. Jira shows what is blocking it, but not who can open it or how to ask them. The person waiting has to hunt down the owner of the blocking issue in another team, guess who is free, and chase follow-ups by hand. Existing tools only visualize dependencies or diagnose why work stalled. None of them route the request to the right person and follow through until the work moves again.
Unjam is a Forge app for Jira that answers the two questions Jira itself cannot answer about a blocked issue: who can unblock this, and what should I say to them?
What it does:
- Traces the blocker chain — multi-hop, across projects and teams, via "is blocked by" links, with cycle detection and safe limits.
- Finds who can unblock it — the blocking issue's owner, its recent contributors, and experts on similar work — ranked by a deterministic, explainable score (ownership 35, expertise 25, availability 20, familiarity 10, team fit 10) built from Teamwork Graph + Jira REST signals. Every point comes with its reason.
- Prices the wait — a block-cost score (age × waiting issues × deadline × priority) so teams fix the most expensive blocker first.
- Drafts the ask — a polite @mention comment, ready to send.
- Tracks it until it moves — one click posts the request and starts tracking; if the blocker is still open after the 48-hour SLA, Unjam posts a follow-up automatically; when the blocker clears, the waiting issue is notified.
Surfaces (one engine, four surfaces):
- Jira issue panel (UI Kit 2): ranked unblockers with avatars, score badges, and reasons; the blocker chain; the draft; Send request; live tracking.
- Jira project page: all blocked work in the project, ranked by block cost.
- Rovo agent "Unjam": ask in plain language — "Who can unblock this issue?", "What is the most expensive blocker in this project?", "Draft an unblock request for me." The agent always shows the draft and asks for confirmation before sending anything. A rovo:skill playbook orchestrates the five actions.
- MCP tools (rovo:mcp): the same five actions exposed as MCP tools for custom agents in Rovo Studio and external MCP clients (Claude, Cursor, VS Code).
- Daily watch (scheduled trigger): escalates past-SLA requests and clears tracking when the blocker resolves.
Why it is not a shallow wrapper: One engine (buildUnblockPlan / buildProjectBlocks) powers every surface; both scores are deterministic and explainable — no LLM guessing. Partial answers are reported as partial, never presented as complete. 80 Jest tests pass; forge lint is clean. The demo shows real, live behavior on a real Jira site: the panel send posts a real comment, and the Rovo agent posts a real comment through the same action.
Try it: Install from the installation link above (Jira Cloud, free), then follow the judge setup guide to create the 5-minute ORB demo scenario. Runs entirely on Atlassian — no external services, no extra cost.
Built With
- 2
- atlassian
- forge
- graph
- javascript
- jira
- kit
- mcp
- rovo
- teamwork
- ui
