Skip to content

feat: support filter-only batch issue unassignment - #286

Open
ruby-automation wants to merge 3 commits into
mainfrom
ext-68-filter-only-unassign
Open

ruby-automation wants to merge 3 commits into
mainfrom
ext-68-filter-only-unassign

Conversation

@ruby-automation

@ruby-automation ruby-automation commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • add filter-only issue unassign with assignee, team, project, state, status, and label selectors
  • resolve profile/project defaults safely and reject empty or mixed ID/filter requests
  • fetch every filtered issue page before applying ordered concurrent updates
  • document no-match output, partial-update behavior, and the intentional --unassigned exclusion

Verification

  • mise exec -- mix ci
  • mise exec -- mix test test/linear_cli/cli/commands/issues/mutations_test.exs test/linear_cli/cli/commands/issues/read_test.exs test/linear_cli/cli/profile_defaults_test.exs test/linear_cli/linear/paginate_test.exs (133 passed)
  • mise exec -- mix test from app/ (589 tests and 1 doctest passed)

Linear issue: EXT-68

@ruby-automation

Copy link
Copy Markdown
Contributor Author

Rework for the implementation-review feedback is pushed in 8902fd1.

  • Filtered unassignment now confirms with Unassign N issue(s)?; -y/--yes bypasses the prompt and --dry-run lists matches without mutations.
  • Strict project resolution keeps exact matches non-interactive and prompts for partial matches; no-match input still fails before the issue query.
  • Assignee filters resolve exact names/display names without prompting, prompt for partial matches, and send an assignee.id filter.
  • The README, Ash ERD, and module-structure documentation describe the new scope and controls; redundant empty-list handling was removed.
  • mise exec -- mix ci passes locally (root 52 tests; app 595 tests including one doctest), and PR CI for 8902fd1 is green. No new GitHub review comments were present after the rework push.

@ruby-automation

Copy link
Copy Markdown
Contributor Author

Rework for the reporter's latest implementation-review direction is pushed in a715d5f.

  • Filter-only unassignment now requests one 100-record issue page, never follows the cursor, and warns when hasNextPage is true that only the first 100 will be processed.
  • JSON output remains valid because the truncation warning goes to stderr.
  • Added regression coverage for the single-page request, 100-match cap, warning, first-page errors, and the pagination helper; updated the README and Ash ERD.
  • mise exec -- mix ci passes locally (root 52 tests; app 597 tests including one doctest), and hosted PR checks for a715d5f pass. No new GitHub review comments are present.

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.

1 participant