URSACORP Apps / Sprint Countdown

Sprint Countdown

A Jira dashboard gadget showing a large, glanceable countdown to the end of the active sprint on a board you choose, or to any date you set yourself.

How it works

Add the gadget to any dashboard and point it at a Scrum board. It shows the sprint name, a large days / hours / minutes countdown, an elapsed-time bar, and a done-versus-total issue count.

The important detail is what it stores. It stores a board, not a sprint id, and resolves the active sprint fresh on every refresh, so nobody has to re-point it every two weeks. If a board is running parallel sprints, it counts down the one ending soonest.

The clock ticks every second in your browser, while Jira itself is re-read every 15 minutes. A wall of dashboards therefore costs almost nothing in API traffic.

Past the target the gadget flips to an overdue state, in red, with a flag. It never freezes at zero and it never shows a negative number.

Custom date mode

Instead of a board you can set your own target date and time, to count down to a release, a cutover, an audit or any deadline. An optional start date gives the elapsed bar something to measure from.

Key features

Setup

  1. Install the app from the Marketplace. This needs Jira administrator rights.
  2. In Jira go to Dashboards and open or create a dashboard.
  3. Choose Edit, then Add gadget.
  4. Find Sprint Countdown in the gadget list and choose Add gadget.
  5. In the gadget configuration, type part of a board name into the search box, pick the Scrum board from the results, and choose Save.

To use custom date mode instead, switch the mode in the same configuration view, set the target date and time, optionally set a start date, give it a name, and save.

Verifying that it works

What you need on the site first

Steps

  1. Add the gadget to a dashboard and point it at that board, as described under Setup.
  2. Check the sprint. The name shown should be the active sprint on that board.
  3. Check the countdown. Open the sprint on the board and note its end date. The days, hours and minutes shown should match the time remaining until that moment. Watch for a few seconds and confirm the clock is ticking.
  4. Check the issue count. The done-versus-total figure should match the sprint contents. Verify by counting on the board.
  5. Check that it follows the sprint. Complete the sprint and start a new one on the same board, then refresh the gadget. It should pick up the new sprint on its own, with no reconfiguration.
  6. Check the overdue state. Switch the gadget to custom date mode and set a target in the past. It should show an overdue state in red with a flag, and must not show a negative number or freeze at zero.
  7. Check custom date mode. Set a target a few days in the future with a start date in the past. The countdown should match the target and the elapsed bar should be partly filled.
  8. Check the empty case. Point the gadget at a board that has no active sprint. It should say so plainly rather than showing a broken or blank widget.

Permissions

Five permissions, all read-only. The app requests no write permission. Every call runs as the signed-in viewer, so nobody sees a board or issue they could not already open in Jira.

PermissionWhy it is needed
read:board-scope:jira-software
read:project:jira
List the Scrum boards you can choose from when configuring the gadget.
read:sprint:jira-software Find the active sprint on that board and read its end date.
read:issue-details:jira
read:jql:jira
Count how many issues in the sprint are done versus the total, for the progress figure.

Granular permissions are used rather than the older read:jira-work because the Jira Software agile endpoints reject read:jira-work, and Forge does not permit mixing classic and granular permissions in one app.

Data handling

No data leaves your Atlassian site. The manifest declares no external permissions and the source contains no outbound network call, so the app is eligible for Atlassian's Runs on Atlassian programme. The app stores nothing beyond the gadget's own configuration, which is the board or the custom date you chose. Full detail is in the privacy policy.

Support

ursacorp.llc@gmail.com