新增批量重开、标签、指派、评论、导出、导入命令 #300

Closed
wdgde wants to merge 0 commits from wdgde/gitlink-cli:feature/issue-batch-enhance into master
Contributor

合并请求描述

本次合并请求为 gitlink-cli 的 Issue 模块新增 6 个批量操作命令,增强 Issue 批量管理能力,提升用户处理大量 Issue 时的效率。

相关Issue

关联Issue编号:无

变更内容

  1. 新增批量重开命令 issue +batch-reopen
  • 支持按 Issue 编号批量重开已关闭的 Issue
  • 支持 --dry-run 预览模式
  • 支持从 CSV 文件读取 Issue 编号
  1. 新增批量标签命令 issue +batch-label
  • 支持按 API issue id 批量添加/移除标签
  • 支持同时添加和移除多个标签
  • 支持 --dry-run 预览模式
  1. 新增批量指派命令 issue +batch-assign
  • 支持按 API issue id 批量指派/取消指派负责人
  • 支持同时添加和移除多个负责人
  • 支持 --dry-run 预览模式
  1. 新增批量评论命令 issue +batch-comment
  • 支持按 Issue 编号批量添加评论
  • 支持 --dry-run 预览模式
  • 支持从 CSV 文件读取 Issue 编号
  1. 新增批量导出命令 issue +batch-export
  • 支持将 Issue 导出为 CSV 或 JSON 格式
  • 支持按状态、关键词筛选
  • 支持自定义输出文件路径
  1. 新增批量导入命令 issue +batch-import
  • 支持从 CSV 文件批量创建 Issue
  • 支持 --dry-run 预览模式
  • 自动解析 CSV 中的标题、描述、优先级等字段

技术实现

  • 遵循现有 batch-closebatch-updatebatch-delete 的代码风格
  • 使用 sort.Ints() 确保 map 转换为 slice 时顺序一致
  • 完整的单元测试覆盖

文档更新

  • 变更文档:doc/changes/issue-batch-enhance.md
  • Skill 文档:skills/gitlink-issue/SKILL.md
  • 英文 README:README.md
  • 中文 README:README.zh-CN.md

测试

  • 所有单元测试通过
  • 项目编译成功

使用示例

批量重开 Issue

gitlink-cli issue +batch-reopen --owner Gitlink --repo forgeplus --numbers 123,124 --dry-run

批量添加标签

gitlink-cli issue +batch-label --owner Gitlink --repo forgeplus --ids 101,102 --add 1,2

批量指派负责人

gitlink-cli issue +batch-assign --owner Gitlink --repo forgeplus --ids 101,102 --add 5,6

批量添加评论

gitlink-cli issue +batch-comment --owner Gitlink --repo forgeplus --numbers 123,124 --message "已处理"

导出 Issue

gitlink-cli issue +batch-export --owner Gitlink --repo forgeplus --state open --format csv --output issues.csv

导入 Issue

gitlink-cli issue +batch-import --owner Gitlink --repo forgeplus --from new_issues.csv

## 合并请求描述 本次合并请求为 gitlink-cli 的 Issue 模块新增 6 个批量操作命令,增强 Issue 批量管理能力,提升用户处理大量 Issue 时的效率。 ## 相关Issue 关联Issue编号:无 ## 变更内容 1. 新增批量重开命令 `issue +batch-reopen` - 支持按 Issue 编号批量重开已关闭的 Issue - 支持 `--dry-run` 预览模式 - 支持从 CSV 文件读取 Issue 编号 2. 新增批量标签命令 `issue +batch-label` - 支持按 API issue id 批量添加/移除标签 - 支持同时添加和移除多个标签 - 支持 `--dry-run` 预览模式 3. 新增批量指派命令 `issue +batch-assign` - 支持按 API issue id 批量指派/取消指派负责人 - 支持同时添加和移除多个负责人 - 支持 `--dry-run` 预览模式 4. 新增批量评论命令 `issue +batch-comment` - 支持按 Issue 编号批量添加评论 - 支持 `--dry-run` 预览模式 - 支持从 CSV 文件读取 Issue 编号 5. 新增批量导出命令 `issue +batch-export` - 支持将 Issue 导出为 CSV 或 JSON 格式 - 支持按状态、关键词筛选 - 支持自定义输出文件路径 6. 新增批量导入命令 `issue +batch-import` - 支持从 CSV 文件批量创建 Issue - 支持 `--dry-run` 预览模式 - 自动解析 CSV 中的标题、描述、优先级等字段 ## 技术实现 - 遵循现有 `batch-close`、`batch-update`、`batch-delete` 的代码风格 - 使用 `sort.Ints()` 确保 map 转换为 slice 时顺序一致 - 完整的单元测试覆盖 ## 文档更新 - ✅ 变更文档:`doc/changes/issue-batch-enhance.md` - ✅ Skill 文档:`skills/gitlink-issue/SKILL.md` - ✅ 英文 README:`README.md` - ✅ 中文 README:`README.zh-CN.md` ## 测试 - ✅ 所有单元测试通过 - ✅ 项目编译成功 ## 使用示例 ### 批量重开 Issue gitlink-cli issue +batch-reopen --owner Gitlink --repo forgeplus --numbers 123,124 --dry-run ### 批量添加标签 gitlink-cli issue +batch-label --owner Gitlink --repo forgeplus --ids 101,102 --add 1,2 ### 批量指派负责人 gitlink-cli issue +batch-assign --owner Gitlink --repo forgeplus --ids 101,102 --add 5,6 ### 批量添加评论 gitlink-cli issue +batch-comment --owner Gitlink --repo forgeplus --numbers 123,124 --message "已处理" ### 导出 Issue gitlink-cli issue +batch-export --owner Gitlink --repo forgeplus --state open --format csv --output issues.csv ### 导入 Issue gitlink-cli issue +batch-import --owner Gitlink --repo forgeplus --from new_issues.csv
wdgde added 2 commits 2026-06-26 14:26:44 +08:00
1b6d8733d1 feat(issue): 新增批量重开、标签、指派、评论、导出、导入命令
新增 6 个 Issue 批量操作快捷命令:
- batch-reopen: 按Issue编号批量重新开启已关闭的Issue
- batch-label: 按API ID批量添加/移除Issue标签
- batch-assign: 按API ID批量指派/取消指派负责人
- batch-comment: 批量为多个Issue添加评论
- batch-export: 导出Issue到CSV/JSON文件,支持多种过滤条件
- batch-import: 从CSV文件批量创建Issue

所有命令均支持 --dry-run 预览模式。包含单元测试和更新的Skill文档。
wbtiger closed this pull request 2026-07-14 22:57:25 +08:00
wbtiger reopened this pull request 2026-07-14 23:02:29 +08:00
wbtiger closed this pull request 2026-07-14 23:06:10 +08:00

Pull request closed

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#300
No description provided.