fix(issue): 修复详情缺失并保护更新元数据 #205

Merged
wbtiger merged 1 commits from Mengz/gitlink-cli:mengz/issue-detail-update-safeguards into master 2026-07-14 22:29:15 +08:00
Contributor

变更说明

这次把 issue +view 的详情输出补齐了。命令仍然以 v1 issue 详情为主,但会继续补充读取旧版详情和 edit 接口,把网页上常见的状态、优先级、跟踪器、标签、numberdatabase_id 这些关键字段一起带出来,避免 CLI 输出和网页页面对不上。

同时修复了 issue +updateissue +closeissue +batch-close 在更新时容易把现有 issue 元数据打丢的问题。现在这三个命令会先读取 edit 元数据,再保留 tracker_idfixed_version_idassigned_to_idissue_type、标签和时间字段后再发 PATCH;如果 edit 元数据拉取失败,就直接停止写入,避免把服务端状态写坏。

README 和变更说明文档已经同步更新,单元测试补了详情增强、元数据保留、edit 拉取失败时停止写入,以及批量关闭复用同一套保护逻辑这些关键场景。

验证

  • go test ./shortcuts/issue/...
  • go test ./shortcuts/...
  • go test ./...
  • go build ./...
  • go run . issue +view --owner Gitlink --repo gitlink-cli --number 18 --format json
## 变更说明 这次把 `issue +view` 的详情输出补齐了。命令仍然以 v1 issue 详情为主,但会继续补充读取旧版详情和 edit 接口,把网页上常见的状态、优先级、跟踪器、标签、`number`、`database_id` 这些关键字段一起带出来,避免 CLI 输出和网页页面对不上。 同时修复了 `issue +update`、`issue +close`、`issue +batch-close` 在更新时容易把现有 issue 元数据打丢的问题。现在这三个命令会先读取 edit 元数据,再保留 `tracker_id`、`fixed_version_id`、`assigned_to_id`、`issue_type`、标签和时间字段后再发 PATCH;如果 edit 元数据拉取失败,就直接停止写入,避免把服务端状态写坏。 README 和变更说明文档已经同步更新,单元测试补了详情增强、元数据保留、edit 拉取失败时停止写入,以及批量关闭复用同一套保护逻辑这些关键场景。 ## 验证 - `go test ./shortcuts/issue/...` - `go test ./shortcuts/...` - `go test ./...` - `go build ./...` - `go run . issue +view --owner Gitlink --repo gitlink-cli --number 18 --format json`
Mengz added 1 commit 2026-06-10 19:34:37 +08:00
wbtiger merged commit 9ca5027d7c into master 2026-07-14 22:28:57 +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#205
No description provided.