My 2026 resolution: stop picking Jira resolutions

Published: (December 31, 2025 at 11:06 AM EST)
3 min read
Source: Dev.to

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 move command (all options + details):
Back to Blog

Related posts

Read more »