修正 Issue 和 PR 列表筛选 #117

Merged
wbtiger merged 1 commits from Mengz/gitlink-cli:mengz/list-filter-fixes into master 2026-06-08 02:24:42 +08:00
Contributor

本次 PR 修正 issue +listpr +list 的状态筛选不准确问题,并补齐常用搜索、筛选和排序参数。此前 Issue 列表仍向服务端发送 state=open,而 GitLink v1 Issue 列表实际使用 category=opened/closed/all;PR 列表也走旧路径并发送 state=open,在真实接口上会出现查询已合并 PR 却仍返回开放 PR 的情况。现在命令仍保留用户熟悉的 --state open/closed/all--state open/merged/closed/all 入口,但会映射为服务端真正生效的 categorystatus 参数,pr +list 也切换到 v1 列表接口,避免状态筛选只停留在表面。

除了修复状态映射,本次还为 issue +list 增加 --keyword--participant--author-id--assignee-id--milestone-id--status-id--tag-ids--sort-by--sort-direction,为 pr +list 增加 --keyword--priority-id--tag-id--milestone-id--reviewer-id--assignee-id--sort-by--sort-direction。这些参数对应 GitLink 列表接口已有能力,能让维护者和 Agent 在整理 Issue、回看已合并 PR、按关键字定位历史变更时少写 Raw API。README、中文 README、Issue/PR Skill 和 doc/changes/list-filter-fixes.md 已同步补充示例与说明。

已验证:

  • go test ./shortcuts/issue ./shortcuts/pr ./internal/i18n
  • go test ./shortcuts/...
  • go test ./cmd ./cmd/api ./cmd/config ./internal/client ./internal/config ./internal/context ./internal/i18n ./internal/output
  • go build ./...
  • git diff --check
  • go run . issue +list --help
  • go run . pr +list --help
  • go run . issue +list --owner Gitlink --repo gitlink-cli --state open --keyword API --limit 3 --format json
  • go run . pr +list --owner Gitlink --repo gitlink-cli --state merged --keyword wiki --limit 3 --format json
  • go run . pr +list --owner Gitlink --repo gitlink-cli --state open --limit 3 --format json
  • 本次修改文件中文编码扫描未发现乱码

补充说明:当前 master 在 Windows 下裸跑 go test ./... 会命中既有 auth 测试 HOME/USERPROFILE 隔离问题,失败集中在 cmd/authinternal/auth,与本次列表筛选改动无关;该问题已有单独 PR 处理,因此本 PR 不重复带入 auth 测试修复,保持变更范围聚焦。

本次 PR 修正 `issue +list` 和 `pr +list` 的状态筛选不准确问题,并补齐常用搜索、筛选和排序参数。此前 Issue 列表仍向服务端发送 `state=open`,而 GitLink v1 Issue 列表实际使用 `category=opened/closed/all`;PR 列表也走旧路径并发送 `state=open`,在真实接口上会出现查询已合并 PR 却仍返回开放 PR 的情况。现在命令仍保留用户熟悉的 `--state open/closed/all`、`--state open/merged/closed/all` 入口,但会映射为服务端真正生效的 `category` 和 `status` 参数,`pr +list` 也切换到 v1 列表接口,避免状态筛选只停留在表面。 除了修复状态映射,本次还为 `issue +list` 增加 `--keyword`、`--participant`、`--author-id`、`--assignee-id`、`--milestone-id`、`--status-id`、`--tag-ids`、`--sort-by`、`--sort-direction`,为 `pr +list` 增加 `--keyword`、`--priority-id`、`--tag-id`、`--milestone-id`、`--reviewer-id`、`--assignee-id`、`--sort-by`、`--sort-direction`。这些参数对应 GitLink 列表接口已有能力,能让维护者和 Agent 在整理 Issue、回看已合并 PR、按关键字定位历史变更时少写 Raw API。README、中文 README、Issue/PR Skill 和 `doc/changes/list-filter-fixes.md` 已同步补充示例与说明。 已验证: - `go test ./shortcuts/issue ./shortcuts/pr ./internal/i18n` - `go test ./shortcuts/...` - `go test ./cmd ./cmd/api ./cmd/config ./internal/client ./internal/config ./internal/context ./internal/i18n ./internal/output` - `go build ./...` - `git diff --check` - `go run . issue +list --help` - `go run . pr +list --help` - `go run . issue +list --owner Gitlink --repo gitlink-cli --state open --keyword API --limit 3 --format json` - `go run . pr +list --owner Gitlink --repo gitlink-cli --state merged --keyword wiki --limit 3 --format json` - `go run . pr +list --owner Gitlink --repo gitlink-cli --state open --limit 3 --format json` - 本次修改文件中文编码扫描未发现乱码 补充说明:当前 master 在 Windows 下裸跑 `go test ./...` 会命中既有 auth 测试 HOME/USERPROFILE 隔离问题,失败集中在 `cmd/auth` 和 `internal/auth`,与本次列表筛选改动无关;该问题已有单独 PR 处理,因此本 PR 不重复带入 auth 测试修复,保持变更范围聚焦。
Mengz added 1 commit 2026-06-05 11:44:16 +08:00
wbtiger merged commit dd4ed35448 into master 2026-06-08 02:24:42 +08:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Gitlink/gitlink-cli#117
No description provided.