feat: show and filter issue assignees #14

Closed
krishsax wants to merge 1 commit from krishsax/issue-assignees into main AGit
Member

Summary

Issue output had no assignees, so seeing who owns what took the raw API. This adds them:

collar issue list -R cmugpt-agent
collar issue list --assignee niyel --json number,title,assignees
collar issue view 24
  • issue list and issue view include an assignees JSON field ([{"login": ...}], empty when unassigned; Forgejo sends null). The list table gains an Assignees column and the view shows an Assignees line when there are any.
  • issue list --assignee LOGIN uses Forgejo's assigned_by filter. For an unknown login, the issue endpoint returns 404, which Collar reported as an unavailable repository or API. The command now looks up users/LOGIN first, so the error names the assignee and no list request is sent.
  • Read-only change; no new writes.

This touches list_issues alongside #13 (label filters). Whichever lands second needs a small rebase to combine the two query additions.

Validation

  • cargo clippy --all-targets -- -D warnings and treefmt pass; the command reference is regenerated, and the repository guide mentions the new field and filter.
  • New fixture tests: assignees in JSON including the null case, the users/LOGIN lookup followed by assigned_by, an unknown login failing before listing, and the view text.
  • Live reads on git.cmu.dev: issue list -R cmugpt-agent shows saic2, enrichyouenergy on #24, --assignee niyel on cmugpt-surface returns #55, #54, and #52 (matching the raw API), and --assignee nosuchuser-zz fails with look up assignee "nosuchuser-zz".
  • On macOS the cli test binary aborts on any test that panics (also on main), so the cargo-test hook was skipped for this commit. Running each test in its own process: 145 of 147 pass. The two failures are existing environment tests that compare /var with /private/var temp paths.
## Summary Issue output had no assignees, so seeing who owns what took the raw API. This adds them: ```sh collar issue list -R cmugpt-agent collar issue list --assignee niyel --json number,title,assignees collar issue view 24 ``` - `issue list` and `issue view` include an `assignees` JSON field (`[{"login": ...}]`, empty when unassigned; Forgejo sends `null`). The list table gains an Assignees column and the view shows an Assignees line when there are any. - `issue list --assignee LOGIN` uses Forgejo's `assigned_by` filter. For an unknown login, the issue endpoint returns 404, which Collar reported as an unavailable repository or API. The command now looks up `users/LOGIN` first, so the error names the assignee and no list request is sent. - Read-only change; no new writes. This touches `list_issues` alongside #13 (label filters). Whichever lands second needs a small rebase to combine the two query additions. ## Validation - `cargo clippy --all-targets -- -D warnings` and `treefmt` pass; the command reference is regenerated, and the repository guide mentions the new field and filter. - New fixture tests: assignees in JSON including the `null` case, the `users/LOGIN` lookup followed by `assigned_by`, an unknown login failing before listing, and the view text. - Live reads on git.cmu.dev: `issue list -R cmugpt-agent` shows `saic2, enrichyouenergy` on #24, `--assignee niyel` on cmugpt-surface returns #55, #54, and #52 (matching the raw API), and `--assignee nosuchuser-zz` fails with `look up assignee "nosuchuser-zz"`. - On macOS the `cli` test binary aborts on any test that panics (also on `main`), so the `cargo-test` hook was skipped for this commit. Running each test in its own process: 145 of 147 pass. The two failures are existing `environment` tests that compare `/var` with `/private/var` temp paths.
feat: show and filter issue assignees
All checks were successful
nixbot/nix-eval evaluation succeeded in 11s (1 warning)
CI / checks-1 (pull_request) Successful in 17s
CI / checks (pull_request) Successful in 0s
kennel/deploy deployment healthy
nixbot/nix-build 5 attributes built
dd44366b86
Owner

Kennel Deployments

Torn down at 2026-11-10 21:51:40 UTC.

<!-- kennel-deployment --> ### Kennel Deployments Torn down at 2026-11-10 21:51:40 UTC.
krishsax closed this pull request 2026-11-10 21:51:39 +00:00
All checks were successful
nixbot/nix-eval evaluation succeeded in 11s (1 warning)
Required
Details
CI / checks-1 (pull_request) Successful in 17s
Required
Details
CI / checks (pull_request) Successful in 0s
Required
Details
kennel/deploy deployment healthy
Required
nixbot/nix-build 5 attributes built

Pull request closed

Sign in to join this conversation.
No description provided.