feat(issue): add batch close shortcut with dry-run support #12

Merged
wbtiger merged 1 commits from wangyue111/gitlink-cli:feat/issue-batch-close into master 2026-05-13 19:27:01 +08:00
Contributor

背景

仓库维护者经常需要批量关闭过期、重复或已完成的 Issue。当前 gitlink-cli 只支持单个 Issue 关闭,批量操作需要重复执行命令。

新增功能

  • 新增 gitlink-cli issue +batch-close
  • 支持 --numbers 1,2,3,参数语义与 v1 API 一致,传入网页 URL 中的 Issue 编号(project_issues_index),不是数据库 ID
  • 支持 --from issues.csv 从 CSV 读取 Issue 编号
  • 支持 --dry-run 预览,不修改线上数据
  • 输出批量操作结果汇总,包括 total/succeeded/failed/results
  • 为 Shortcut flag 增加 bool flag 支持

v1 API 适配

本 PR 已 rebase 最新 master,Issue 批量关闭已切换到 v1 API:

GET   /v1/{owner}/{repo}/issues/{number}
PATCH /v1/{owner}/{repo}/issues/{number}

关闭时会复用 fetchExistingIssue() 获取当前 subjectdescription,PATCH 时同时带回,避免清空 Issue 描述。

示例

gitlink-cli issue +batch-close --owner Gitlink --repo forgeplus --numbers 1,2,3 --dry-run
gitlink-cli issue +batch-close --owner Gitlink --repo forgeplus --from issues.csv

测试

GOPROXY=https://goproxy.cn,direct go test ./...
go vet ./...
go run . issue +batch-close --help
go run . issue +batch-close --owner wangyue111 --repo gitlink-cli --numbers 1,2 --dry-run --format json

文档

  • 更新 README / README.zh-CN
  • 更新 gitlink-issue Skill 文档
  • 新增 skills/gitlink-issue/references/gitlink-issue-batch-close.md
## 背景 仓库维护者经常需要批量关闭过期、重复或已完成的 Issue。当前 gitlink-cli 只支持单个 Issue 关闭,批量操作需要重复执行命令。 ## 新增功能 - 新增 `gitlink-cli issue +batch-close` - 支持 `--numbers 1,2,3`,参数语义与 v1 API 一致,传入网页 URL 中的 Issue 编号(`project_issues_index`),不是数据库 ID - 支持 `--from issues.csv` 从 CSV 读取 Issue 编号 - 支持 `--dry-run` 预览,不修改线上数据 - 输出批量操作结果汇总,包括 total/succeeded/failed/results - 为 Shortcut flag 增加 bool flag 支持 ## v1 API 适配 本 PR 已 rebase 最新 master,Issue 批量关闭已切换到 v1 API: ```text GET /v1/{owner}/{repo}/issues/{number} PATCH /v1/{owner}/{repo}/issues/{number} ``` 关闭时会复用 `fetchExistingIssue()` 获取当前 `subject` 和 `description`,PATCH 时同时带回,避免清空 Issue 描述。 ## 示例 ```bash gitlink-cli issue +batch-close --owner Gitlink --repo forgeplus --numbers 1,2,3 --dry-run gitlink-cli issue +batch-close --owner Gitlink --repo forgeplus --from issues.csv ``` ## 测试 ```bash GOPROXY=https://goproxy.cn,direct go test ./... go vet ./... go run . issue +batch-close --help go run . issue +batch-close --owner wangyue111 --repo gitlink-cli --numbers 1,2 --dry-run --format json ``` ## 文档 - 更新 README / README.zh-CN - 更新 gitlink-issue Skill 文档 - 新增 `skills/gitlink-issue/references/gitlink-issue-batch-close.md`
wangyue111 added 1 commit 2026-05-13 18:30:10 +08:00
wbtiger merged commit 800002d710 into master 2026-05-13 19:27:01 +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#12
No description provided.