My 2026 resolution: stop picking Jira resolutions
Source: Dev.to
TL;DR: In Jira, Status and Resolution are separate fields. Depending on workflow configuration, Jira may prompt you for a resolution, auto‑set it, or do nothing—leading to issues that are Done but still Unresolved. The imdone-cli 0.28.0 fix makes moving an issue to Done automatically set a resolution when needed.
Status vs. Resolution
- Status – where the issue is in the workflow (e.g., To Do → In Progress → Done).
- Resolution – why the issue ended (e.g., Fixed, Won’t Fix, Duplicate).
Because they are independent, the following state is perfectly valid:
status = Done
resolution = Unresolved
This isn’t just cosmetic; it leaks into dashboards, filters, and workflow rules.
How Jira Handles Resolution
Prompting
The transition screen includes a Resolution field, so Jira asks you to pick one.
Auto‑setting
A post‑function or automation sets the resolution behind the scenes—no prompt.
Not set at all
No prompt, no automation, no post‑function… and you end up with Done + Unresolved.
In environments with multiple projects, inherited workflows, or ad‑hoc tweaks, you can see any of these behaviors across boards, creating low‑grade pain:
- Reports treat “resolved” as “has a resolution,” not “is in Done.”
- Filters like “show me unresolved issues” unintentionally include Done items.
- Validators may or may not require a resolution on the Done transition, causing inconsistent friction.
Detecting the Problem
project = PROJ AND statusCategory = Done AND resolution = Unresolved
If your instance doesn’t support statusCategory:
project = PROJ AND status in (Done, Closed) AND resolution = Unresolved
If either query returns results, a workflow foot‑gun is present.
Common Admin‑Side Fixes
- Add a post‑function to set Resolution on Done transitions.
- Add a validator requiring Resolution before the transition can complete.
- Add automation: “when status category becomes Done, set resolution (if empty).”
These solutions can work but often suffer from:
- Project‑specific variations.
- Forgetting which workflows have which settings.
- Ongoing admin overhead.
- Edge cases that still require manual cleanup.
A Developer‑Centric Approach: imdone-cli 0.28.0
When you move an issue into a Done status category, imdone-cli will:
- Automatically set
Resolution = "Done"if the issue has no resolution. - Never overwrite an existing resolution.
- Stay non‑blocking – the move succeeds even if the resolution setting fails.
- Only act when moving to a status in the Done category.
Basic Usage
imdone move PROJ-123 Done
Explicit Resolution
imdone move PROJ-123 Done -r "Fixed"
Skip Resolution Handling
imdone move PROJ-123 Done --no-resolution
Interactive Choice
imdone move PROJ-123 Done -p
In interactive mode, the CLI:
- Fetches available resolutions from the Jira API (with descriptions).
- Includes a Skip option.
- Falls back to common resolutions if the API call fails.
Why This Matters
The goal isn’t “more compliance with Jira” but removing a tiny context switch that appears right at the end of a work loop. If your Jira already prompts or auto‑sets a resolution, great. If you’ve ever been bitten by:
- “Why is this still unresolved?”
- “Why didn’t that chart move?”
- “Why did this transition fail on this project but not that one?”
…then this small, practical change helps make Done truly mean Done for developers.
Quick Survey
On your team, does Jira:
- Prompt for resolution?
- Auto‑set it?
- Ignore it entirely?
I’m curious how common each setup is across real teams.
Further Reading
- Documentation for the
movecommand (all options + details):