Skip to content

feat: add --status filter to gitt issues list#1474

Open
jakearmstrong59 wants to merge 1 commit into
entrius:testfrom
jakearmstrong59:feat/issues-list-status-filter
Open

feat: add --status filter to gitt issues list#1474
jakearmstrong59 wants to merge 1 commit into
entrius:testfrom
jakearmstrong59:feat/issues-list-status-filter

Conversation

@jakearmstrong59

Copy link
Copy Markdown
Contributor

Summary

Adds a --status filter to gitt issues list so users can list only issues in a specific lifecycle state:

bash gitt issues list --status active gitt issues list --status registered gitt issues list --status completed gitt issues list --status cancelled ​

Closes #1473

Changes

  • New STATUS_CHOICE click constant in issue_commands/helpers.py, alongside the existing NETWORK_CHOICE, covering the four on-chain statuses.
  • New --status option on issues list, mirroring the existing --repo filter (feat: add --repo filter to gitt issues list #910): a client-side, case-insensitive filter applied identically to both the table view and --json output, with --id taking precedence.
  • Behavior is unchanged when the flag is omitted; unknown values are rejected at parse time by click.Choice.
  • Two tests in tests/cli/test_issues_list_json.py: JSON filtering with case-insensitive input, and parse-time rejection of invalid values (no contract read).

Testing

  • uv run pytest tests/ — 919 passed
  • uv run pre-commit run --all-files (ruff lint/format) and pre-push hooks (pyright, vulture) — all green
  • Manually exercised table + JSON paths, --status combined with --repo, --id precedence, and no-match output via CliRunner

@xiao-xiao-mao xiao-xiao-mao Bot added the enhancement New feature or request label Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] gitt issues list can filter by repo but not by lifecycle state — add a --status filter (registered/active/completed/cancelled)

1 participant