How the ranking works
Last updated: 5 September 2026
OnTask ranks your assigned work with a deterministic score. There is no model and no guessing: every point comes from a stated rule about the issue, and every rule that awards points also writes the sentence that explains it. That is why a card's Why this one is not a description of the score — it is the score, shown with the arithmetic.
Two consequences worth knowing. The ranking is the same every time for the same issues, so it never surprises you for reasons it cannot name. And it works on every Jira plan, including Free, because nothing is computed anywhere but on your own site.
The signals
Each open issue assigned to you is scored against the rules below. Points add up; the highest three become your cards.
| Signal | Points |
|---|---|
| Overdue | 40, plus 5 for every day overdue, capped at 70 |
| Due today | 30 |
| Due within the next 7 days | 26 for tomorrow, decaying by 28% per day: 26 · 19 · 13 · 10 · 7 · 5 · 4 |
| Unanswered mention | 25 per comment mentioning you that you have not replied to since, weighted by how recent it is, capped at 45 |
| Blocking other work | 20 for each open issue this one blocks, capped at 40 |
| Priority | Highest 20 · High 12 · Medium 4 · Low 0 · Lowest −4 |
| Already in progress | 15 |
| Flagged | 22 — a flag is the strongest manual signal in Jira; a human said "this is stuck", so it outweighs anything merely inferred |
| Nearly done | 10, when 75–99% of the original estimate is logged |
| Stuck in its status | 8, after more than 5 days without a status change |
| In the active sprint | 10 |
| Blocked by an open issue | −35 — you probably cannot move it, so it drops |
Issues on which Jira says you may not log work are left out entirely rather than ranked low. A card you cannot act on is noise.
On "unanswered mention"
Jira has no API for "has this person replied". OnTask reads each comment on the issue, looks for a mention of you, and checks whether you have commented on the issue since. That is inherently approximate: a reply in a pull request, a chat message or a meeting does not count. Treat the signal, and the Waiting on you list, as the thread still looks open, not as a judgement.
The sliders
Six of the signals are the ones that actually reorder a queue, and those six are yours to weight. In Settings & privacy → How your work is ranked, each has a slider from 0 (ignore) to 3 (above all):
| Slider | What it multiplies |
|---|---|
| Deadlines | Overdue, due today, due this week |
| People waiting on you | Comments that mention you and have no reply |
| Work you are blocking | Other open issues waiting on this one |
| The priority field | Whatever your team sets on the issue |
| Impediment flags | Someone explicitly flagged it as stuck |
| Being blocked | Pushes down work that is waiting on something else |
They are multipliers, not raw points, because "deadlines matter twice as much to me" is a thing a person can reason about and "change 26 to 19" is not. At 1 every slider does nothing; the table above is the result.
The order updates as you drag. The preview is computed in your browser with the same code the server ranks with — one implementation, so what you see while dragging is the real answer, not an approximation. Nothing is saved until you press Save ranking; Reset to defaults puts every slider back to 1.
A signal you set to 0 contributes neither points nor a sentence. It does not sit on the card claiming to have contributed nothing.
The remaining signals — already in progress, in the active sprint, nearly done, stuck in status — are deliberately fixed. Each is a near-constant offset for most people; a slider for it would add a decision without changing an order.
Reading a card
Open Why this one — score N on any card. The lines are ordered by magnitude, so the first one is the reason that actually drove the ranking. Each line is a sentence and a number; the numbers sum to N. If a line is missing that you expected — a due date, say — it is because the signal did not apply to that issue, or because you have turned its slider to 0.