Commit Graph

7 Commits

Author SHA1 Message Date
wauxing fbdab04a57 refactor(i18n): fork 引入的命令全面 i18n 化,对齐 upstream 风格
仅改造 fork 自己实现/新增的命令,不动 upstream 本身未 i18n 的包:

- issue/batch_*.go(7文件): newBatchXxxShortcut 接受 tr,所有
  Description/Usage 改 tr.T();新增 batchRuntimeFlags(tr) 共享 helper
  消除 dry-run/confirm/max/delay 重复
- search +issues: 11 个硬编码改 tr.T(),复用 flag.search.keyword/
  flag.page/flag.limit/flag.sort_by/flag.sort_direction
- user headmaps/stats-*/trends: newStatsShortcut 接受 tr,
  Description/Usage 改 tr.T()
- locale: 新增 51 个 key(zh-CN + en-US 双语),清理 10 个孤立死 key
  (batch_list.*/batch.reason/yes 等无对应命令的遗留 key)

全模块测试通过(40 包,0 失败)。
2026-06-15 17:28:21 +08:00
wauxing 9af1e9d607 fix: 修复 milestone API 路径和字段名,batch milestone 现在实际生效
- Milestone 列表 API 路径从 /v1/:owner/:repo/versions 改为 /v1/:owner/:repo/milestones
- Milestone 数据解析从 env.Data 改为从 env.Data["milestones"] 提取
- Issue PATCH 中 milestone 字段从 fixed_version_id 改为 milestone_id
- 新增 getNestedMapInt() 从嵌套对象提取 milestone.id
- CSV 列名匹配添加 milestone_id 别名
- 端到端验证:名称解析/数字ID/batch-update/batch-create 全部通过
2026-06-01 16:40:37 +08:00
wauxing d183bc2c5d fix: 修复 label API 路径和字段名,batch-label 现在实际生效
- Label 列表 API 路径从 /v1/:owner/:repo/labels 改为 /:owner/:repo/labels(v0 前缀)
- Label 数据解析从 env.Data 改为从 env.Data["issue_tags"] 提取
- Issue PATCH 中 label 字段从 label_ids 改为 issue_tag_ids(GitLink 正确字段名)
- 新增 getTagIDs() 函数处理 GET issue 返回的 tags 对象数组
- 端到端验证:add/remove/set/dry-run/幂等/多标签/数字ID 全部通过
2026-06-01 16:40:37 +08:00
wauxing a4507ca9e9 refactor: batch 操作重构 + 修复 assign API 字段 + 补充单元测试
重构:
- 引入 BatchOptions 结构体,RunBatch 签名从 7 参数简化为结构体
- 提取 batchStateFlags/runBatchStateChange 消除 batch-close/batch-open 重复
- 提取 patchIssue 统一 fetch→patch 模式
- 延迟 API 调用到回调内,修复 --dry-run 仍触发网络请求的问题
- 消除 resolveAssigneeID,统一用 ResolveUserID

修复:
- assigned_to_id → assigner_ids(GitLink API 设置经办人的正确字段)
- searchIssues 移除 id fallback,避免用全局 ID 调 PATCH 导致 404
- priority 非法值从静默忽略改为显式报错
- --action 做 case-insensitive 处理

清理:
- 删除 closeIssue 死代码、existingIssue 类型别名、DoneRatio 字段
- 注释统一为中文

测试:
- 新增 batch_operation_test.go,覆盖 RunBatch 核心行为、patchIssue、
  label 合并/移除、status 解析、parseBatchOptions
2026-06-01 16:40:37 +08:00
wauxing 1e23b9691c chore: remove unused --verbose flags, move parseIntArg to batch_common, return error on batch_create truncation 2026-06-01 16:40:37 +08:00
wauxing 00d80ed6ff fix: address review findings - case-insensitive CSV, searchIssues ID priority, dedup numbers, truncation marker, and consistency 2026-06-01 16:40:37 +08:00
wauxing 4a9319e160 feat: add batch-create command 2026-06-01 16:40:37 +08:00