Documentation — Jira App
The complete guide to Online Planning Poker for Jira — quick votes from any issue, full estimation sessions for sprint planning, and estimates saved straight to your Jira fields.
Last updated: July 11, 2026
On this page
- Overview — the three places the app lives
- Installing the app
- Quick vote — estimating from inside an issue
- Creating a full estimation game
- Running a session in the game room
- Issue panel states reference
- How estimates are written to Jira
- Roles: admins, players, and spectators
- App permissions and data
- Limits and technical notes
- Billing and licensing
- Troubleshooting and FAQ
- Support
Overview — the Three Places the App Lives
Online Planning Poker for Jira adds collaborative story-point estimation to Jira Cloud. The same games are reachable from three surfaces, so you can estimate wherever the work happens:
- The issue view — a compact planning poker panel appears in the right-hand context sidebar (and as an issue panel) on every issue. From here you can start a one-click quick vote, cast your card, watch who has voted, reveal, and save the team estimate — without ever leaving the ticket.
- The game room — a full-page experience under Apps → Online Planning Poker, built for whole planning sessions: an issue queue, a round timer, vote distribution charts, consensus statistics, and admin controls. See Running a session.
- The games list — the app's home page lists every live, draft, and completed game with its progress, so you can rejoin a session, review past results, or clean up old games.
Both surfaces are windows onto the same game: a vote cast from the issue panel appears in the game room within seconds, and vice versa.
Installing the App
- Open the Atlassian Marketplace and search for "Online Planning Poker for Jira", or go to Apps → Explore more apps inside Jira.
- Click Try it free (or Buy now) and select the Jira Cloud site to install on. You need Jira site admin permission to install apps.
- That's it — no signup, no configuration, no external account. Everyone on your Jira site can use the app immediately with their existing Atlassian identity.
The app is built entirely on Atlassian Forge and runs on Atlassian: all storage and compute stay inside your Atlassian organization, the app makes no network calls outside Atlassian, and data location follows your Atlassian data-residency settings. See the Privacy Policy and DPA for details.
Quick Vote — Estimating From Inside an Issue
You don't need to set up a game to estimate a single ticket. Every issue has an Online Planning Poker panel, and estimation can run entirely inside it:
- Open the issue and find the Online Planning Poker panel in the right-hand sidebar. If no game covers this issue yet, it shows a Start a vote button.
- Click Start a vote. The app instantly creates a single-issue quick-vote game with the Fibonacci deck and auto-reveal enabled, and it is live immediately. If two teammates click at the same moment, they converge on the same game — nobody ends up voting in a parallel session.
- Teammates join by simply opening the issue. Anyone who views the ticket while the round is live automatically joins as a player and sees the card deck. There is no invitation step.
- Pick your card. The panel shows a live progress bar ("2 of 4 voted") and the participant list, with a check mark next to everyone who has voted — but never what they voted, until the reveal.
- Reveal. Quick votes auto-reveal the moment the last active player has voted. The game admin can also reveal early with the Reveal cards button.
- Review the results. After the reveal, the panel shows each participant's card plus three statistics: Consensus (the most-voted card), Average, and Spread (lowest – highest vote).
- Save the team estimate. The admin gets a stepper pre-filled with the suggested estimate, can nudge it up or down through the deck's values, and clicks Save to <ISSUE-KEY>. The estimate is written to the issue (see how estimates are saved), or the admin can Revote to run the round again.
A Game room link in the panel header opens the same game in the full-page view at any time. And the panel is polite about presence: merely looking at an already-estimated issue never adds you to a game — you only become a participant while a round is actually live on that issue.
Tip: the same panel also serves issues that belong to a bigger game. If your issue is queued in a live session, the panel says so and links to the room — and the game creator gets a Vote on this issue now button to pull it forward. See the panel states reference.
Creating a Full Estimation Game
For sprint planning or backlog refinement with many issues, create a game from Apps → Online Planning Poker → Create game. Creation is a two-step wizard.
Step 1 — Game details
- Game name (required) — e.g. "Sprint 42 planning".
- Estimation field — every numeric field on your Jira site is offered, and the app pre-selects your Story Points field when it finds one. Final estimates are saved to this field on each issue. You can also choose Don't save to a field; estimates are then recorded as issue comments only.
- Card deck — pick one of the built-in decks (previewed live as you choose) or define your own:
- Fibonacci (0–89): 0, 1, 2, 3, 5, 8, 13, 21, 34, 89, ?, ☕
- Modified Fibonacci (0–100): 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100, ?
- T-shirt sizes: XS, S, M, L, XL, XXL, ?, ☕
- Powers of 2: 0, 1, 2, 4, 8, 16, 32, 64, ?, ☕
- Custom deck: comma-separated values of your choice (minimum two cards). Non-numeric cards like "?" and "☕" are fine — they're counted in the discussion but excluded from numeric statistics.
Three toggles control how rounds behave:
- Auto-reveal when everyone has voted — cards flip automatically once the last active player votes; otherwise the admin reveals manually.
- Players can change their vote after reveal — useful when a quick discussion changes minds and you'd rather adjust than run a full revote.
- Private game — the game is visible only to its creator in the games list and issue panels. Others can still join if the creator shares the direct game link.
Step 2 — Add issues (optional)
The issue picker searches your whole Jira site and shows type, key, summary, epic, status, and any existing estimate for each result:
- Search box — type free text, or paste a list of issue keys ("PROJ-1, PROJ-2 PROJ-3") straight from a spreadsheet or Slack message; the picker recognises key lists automatically.
- Filters — narrow by project, issue type, and status category, with select-all across the current results.
-
JQL mode — switch to raw JQL for anything the filters can't express, e.g.
project = WAL AND sprint in openSprints().
You can also create the game without issues and add them live during the session — issues can be added, removed, and reordered at any time while a game runs.
Running a Session in the Game Room
Starting and joining
A new game starts as a draft; the first person to open it takes it live and the first round begins. Use the Copy game link button in the header to share the session — anyone on your Jira site who follows the link joins instantly. Participants who open an issue that's currently being voted on join through the issue panel, too.
The current issue, in full
The room shows the issue being estimated with everything the team needs to judge it: summary, description (expandable when long), status, priority, labels, reporter, assignee, comment count, the current value of the estimation field, and an Open in Jira link. Details are fetched live from Jira, so what you estimate is what's really on the ticket.
Voting rounds
- Each player picks a card from the deck. A progress bar tracks "3 of 5 voted", and when only a few votes are missing the room names who it's waiting for ("waiting for Ana & Ben").
- A round timer in the header counts up from the start of the round. It stays calm for the first minute, turns amber past 60 seconds, and red past 90 — a gentle nudge to timebox discussion. After the reveal it freezes at the round's duration.
- The admin can Reveal cards at any point, or Skip issue to push the current issue to the side and move on (skipped issues can be revisited later from the queue).
The reveal: distribution and statistics
After the reveal, the room shows a vote distribution table — each card value with its vote count and share bar — plus per-player badges in the sidebar showing exactly who voted what. Four statistics summarize the round:
- Consensus — the most-voted card (ties go to the lower card).
- Average — the mean of all numeric votes.
- Spread — lowest to highest vote.
- Alignment — a Strong / Good / Moderate / Low rating of how closely the team agrees, based on the gap between votes relative to the median.
When votes diverge widely, the room calls it out — "Widest gap: 2 ⇔ 13 — worth a 60-second discussion before saving" — so outliers get talked through instead of averaged away.
Saving and moving on
The admin's Team estimate panel is pre-filled with a suggestion: the consensus card's value or, when the consensus is a non-numeric card like "?", the deck value nearest the median of the numeric votes. Arrows step the value up and down through the deck. Save & next issue writes the estimate to Jira and advances to the next unestimated issue automatically; Revote this issue clears the round and runs it again. When the last issue is saved or skipped, the game completes and shows a results table of every issue and its estimate.
The queue sidebar
The sidebar lists the whole queue with each issue's state — estimated (with its value), currently voting, skipped, or waiting. The admin can jump to any issue by clicking it, and add more issues mid-session with the same picker used at creation. Adding issues to a completed game reopens it on the first new issue.
Issue Panel States Reference
The panel on each issue adapts to that issue's place in your games:
| State | When | What you can do |
|---|---|---|
| Start a vote | No game references this issue. | One click creates a live quick-vote game for this issue. |
| Voting / Revealed | A live game is on this issue right now. | Full voting UI: cards, progress, participants, reveal, statistics, save, revote. |
| Estimated | The issue already has a saved team estimate. | Shows the estimate, when it was saved, and in which game. The game creator gets a Vote again button. |
| Queued | The issue sits in a draft game that hasn't started. | Links to the game room. |
| In game | A live game contains this issue but is busy with another one. | Links to the room; the game creator gets Vote on this issue now to pull it forward. |
How Estimates Are Written to Jira
When the admin saves a team estimate, two things happen on the Jira issue:
- The estimation field is updated (when the game has one configured) — e.g. Story Points is set to 5, so boards, backlog views, and velocity reports pick it up immediately.
- A comment is always added for traceability — e.g. Planning Poker estimate: 5 (game "Sprint 42 planning") — posted as the admin who saved it, so the audit trail shows a real person.
If Jira rejects the field update (most commonly because the field isn't on the project's screens), the app explains the problem in plain language, and the estimate still lands as a comment so nothing is lost. See Troubleshooting.
Notes: decks without numeric cards (like T-shirt sizes) have no numeric value to write to a field, so those games track estimates inside the app only. Deleting a game never touches estimates already saved to issues — they're your Jira data.
Roles: Admins, Players, and Spectators
- Game admin — the person who created the game. Only the admin can reveal cards, skip issues, jump the queue, save team estimates, trigger revotes, and add issues. Only the creator can delete a game.
- Players — everyone joins as a player by default and can vote. Players who haven't been seen for about 45 seconds show as "away" and don't block auto-reveal or the vote count.
- Spectators — facilitators, stakeholders, or anyone who wants to watch without influencing the count. Switch between player and spectator anytime with Watch as spectator / Join as player in the sidebar.
Private games are hidden from everyone but their creator in the games list and issue panels; sharing the direct game link still lets teammates join.
App Permissions and Data
The app requests four scopes — the minimum for what it does:
read:jira-work— search issues for the picker and show issue details in the game room and panels. Searches run as the viewing user, so nobody sees issues Jira wouldn't show them anyway.write:jira-work— write the saved team estimate to the configured field and post the estimate comment.read:jira-user— display participant names and avatars.storage:app— store games, participants, and votes in Forge storage inside your Atlassian organization.
The app stores only what a game needs: Atlassian account IDs of participants, their role, their votes, and issue keys/summaries/estimates for the queue. Nothing leaves Atlassian's infrastructure. Full details: Privacy Policy, End User Terms, Data Processing Addendum.
Limits and Technical Notes
- Up to 100 games per site and 100 issues per game — delete completed games you no longer need.
- Live updates arrive by polling every ~3 seconds (the Forge platform has no push channel), so a teammate's vote appears within a few seconds rather than instantly.
- Presence is tracked per game: participants inactive for ~45 seconds show as "away" and are excluded from the "X of Y voted" count and auto-reveal.
- The issue picker shows the top 25 results per search — refine filters or paste issue keys to reach specific tickets.
Billing and Licensing
The app is Paid via Atlassian: billing, free trials, upgrades, downgrades, and cancellation are all handled through your Atlassian Marketplace subscription, alongside your other Atlassian products. There is no separate account, invoice, or payment method to manage. Per-user pricing is shown on the app's Marketplace listing.
If the subscription lapses, the app tells you directly ("Your Online Planning Poker subscription is inactive — a Jira admin can renew it from Manage apps") rather than failing silently. Existing data is kept and everything resumes once the subscription is active again.
Troubleshooting and FAQ
"The estimate couldn't be saved to the field"
The estimation field (e.g. Story Points) isn't on the screens of that issue's project. A Jira admin can add it under Project settings → Screens, or you can pick a different field for the game. The estimate is still recorded as a comment on the issue either way.
"The estimate comment couldn't be added"
The admin saving the estimate doesn't have permission to comment on that issue. Comments are posted as the saving user, so their Jira permissions apply.
I can see the cards but can't vote
You're spectating. Click Join as player in the game room sidebar. Votes are also locked after a reveal unless the game was created with "Players can change their vote after reveal".
A teammate's vote isn't showing up
Updates arrive within ~3 seconds via polling. If a participant shows as "away", they haven't had the game open in the last 45 seconds — once they reopen the issue or the room, they're active again.
Can I estimate an issue that was already estimated?
Yes — the issue panel shows the saved estimate, and the game creator gets a Vote again button that starts a fresh round on that issue.
What happens to estimates if I delete a game or uninstall the app?
Estimates and comments already written to Jira issues are your Jira data and are never touched. Deleting a game removes only the game itself and its votes; uninstalling the app removes app data per Atlassian's Forge data lifecycle.
Support
Questions, bug reports, or feature requests? We aim to respond within one business day.
Email: [email protected]