Skip to content

feat(cli): quick status-transition aliases start/done/block/review (#144) - #145

Merged
f3rdy merged 2 commits into
masterfrom
feat/144-status-aliases
Oct 12, 2026
Merged

f3rdy merged 2 commits into
masterfrom
feat/144-status-aliases

Conversation

@f3rdy

@f3rdy f3rdy commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Revives the unmerged June draft as #144: top-level aliases for the most frequent workflow action.

  • budjira start ISSUE → In Progress, budjira done → Done, budjira block → Blocked, budjira review → In Review (each with --connection/-c)
  • Thin wrappers over the existing issue update --status machinery: same case-insensitive transition matching against the issue's available transitions, same required-screen-field handling
  • Aliases are non-interactive: a transition needing screen fields aborts with the field list and a hint to the full command; an unavailable transition lists the available ones and points at budjira issue transitions
  • The validator-rejection handling (attributing Jira's anonymous messages to screen fields) is lifted into a shared _execute_transition, so aliases report those errors exactly like issue update --status
  • Also fixes the pre-existing budjira update issue/transitions wording in hints and docstrings — budjira update is the CLI self-update command; canonical is budjira issue update

Verification

  • 1420 tests pass (19 new alias tests: resolution, case-insensitive match, unavailable transition, required-field abort, validator attribution, --connection forwarding, help), ruff + mypy clean
  • Independent code review of the diff; both medium findings (validator attribution gap, misleading error hint) fixed and pinned by tests

Fixes #144

f3rdy added 2 commits October 12, 2026 12:55
)

Top-level aliases for the most frequent workflow action, ported from the
June draft branch onto the current machinery: each alias resolves the
transition through the same case-insensitive matching and screen-field
handling as 'issue update --status' and points to that command when a
transition needs field values. Also fixes the pre-existing 'budjira update
issue' wording (update is the self-update command) in issue.py hints and
docstrings.
…144)

- lift the validator-rejection handling out of update_issue into
  _execute_transition so the aliases attribute Jira's anonymous validator
  messages to screen fields exactly like issue update --status
- the alias hint now distinguishes: missing screen fields -> issue update
  with fields; anything else (e.g. unavailable transition) -> issue
  transitions, instead of pointing at a command that fails identically
- fix the remaining 'budjira update transitions' docstring (same wording
  bug class)
@f3rdy
f3rdy merged commit 7964c0f into master Oct 12, 2026
5 checks passed
@f3rdy
f3rdy deleted the feat/144-status-aliases branch October 12, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(cli): quick status-transition aliases (start/done/block/review)

1 participant