feat(workflow): replace raw api calls with shortcut-backed fetches #324

Merged
wbtiger merged 1 commits from ohanabi/gitlink-cli:feat/workflow-shortcut-backed-fetches into master 2026-07-14 22:29:16 +08:00
Contributor

合并请求描述

本次合并请求新增 workflow +review-context 只读工作流命令,用于一次性获取 PR 审查所需的仓库、PR、变更文件、已有 Review、开放 Issue 和标签
上下文,并同步将相关 Skill 文档从多条 Raw API/分散命令迁移到 workflow 聚合命令。

相关Issue

关联Issue编号:暂无

变更内容

1. 新增 workflow +review-context

  • 新增只读命令 gitlink-cli workflow +review-context --number <pr_id>
  • 聚合仓库信息、PR 详情、变更文件、已有 Review、开放 Issue、标签列表。
  • 支持 --issue-limit--label-limit 限制上下文规模。
  • 支持 --include-repo=false--include-files=false 等参数关闭部分上下文。
  • 支持 jsonmarkdowntable 输出。

2. 增强 workflow API 响应归一化

  • apiList 新增对 reviewsissue_tagslabels 字段的识别。
  • 让 workflow 聚合 fetch 能稳定解析 PR Review 和标签列表响应。

3. 补充测试

  • 覆盖完整上下文抓取。
  • 覆盖部分 section 失败时记录 notes 并继续输出。
  • 覆盖所有启用 section 均失败时返回错误。
  • 覆盖命令注册、JSON 输出、table/markdown 渲染和缺少 --number 的错误路径。

4. 更新 README 与 Skills

  • README / README.zh-CN 增加 workflow +review-context 示例。
  • 更新 gitlink-workflow Skill,新增 Review Context 工作流说明。
  • 更新 gitlink-code-review Skill,优先使用 workflow +review-context
  • 更新 gitlink-gatekeeper Skill,用聚合上下文替代手工 Raw API 采集。
  • 更新 gitlink-insight Skill,将已被 shortcut 覆盖的 repo/user Raw API 示例替换为 shortcut。
  • 新增 doc/changes/workflow-shortcut-backed-fetches.md

问题描述

当前代码审查、门禁和洞察类 Skill 中,仍存在多处 Raw API 或分散命令采集流程。Agent 在进行 PR Review 或 Gatekeeper 判断前,需要手动拼接多个
请求获取 PR 详情、文件、Review、Issue、标签等上下文,流程不够稳定,也不利于统一测试和复用。

问题复现步骤

  1. 查看 skills/gitlink-code-review/SKILL.md
  2. 发现 PR 审查上下文需要分别获取 PR、文件、Diff,部分仓库扫描仍依赖 Raw API。
  3. 查看 skills/gitlink-gatekeeper/SKILL.md
  4. 发现 PR 门禁采集流程包含多条分散命令和 Raw API commits 请求。
  5. Agent 需要自行组合这些数据,缺少一个稳定、只读、结构化的上下文入口。

根本原因

workflow 模块此前已有 triagehealthpr-summaryrepo-report,但缺少一个面向 PR 审查前置数据采集的聚合 fetch 命令。相关 Skill
因此只能保留 Raw API 示例或多命令拼接流程,导致 Agent 工作流重复、分散且更容易遗漏上下文。

修复方案

新增 workflow +review-context,在 workflow 层统一聚合已有 shortcut 对应的只读数据源:

  • repo +info 等价路径获取仓库信息
  • pr +view 等价路径获取 PR 详情
  • pr +files 等价路径获取变更文件
  • pr +reviews 等价路径获取已有 Review
  • issue +list --state open 等价路径获取开放 Issue
  • label +list 等价路径获取标签

命令保持只读,不执行评论、审批、拒绝、合并、标签变更或关闭操作。部分数据源失败时写入 notes,让 Agent 可以基于可用上下文继续工作。

���证

  • gofmt -w shortcuts/workflow/...
  • git diff --check
  • go run ./internal/i18n/cmd/check
  • go test ./shortcuts/workflow ./shortcuts
  • go test ./...
## 合并请求描述 本次合并请求新增 `workflow +review-context` 只读工作流命令,用于一次性获取 PR 审查所需的仓库、PR、变更文件、已有 Review、开放 Issue 和标签 上下文,并同步将相关 Skill 文档从多条 Raw API/分散命令迁移到 workflow 聚合命令。 ## 相关Issue 关联Issue编号:暂无 ## 变更内容 ### 1. 新增 workflow +review-context - 新增只读命令 `gitlink-cli workflow +review-context --number <pr_id>`。 - 聚合仓库信息、PR 详情、变更文件、已有 Review、开放 Issue、标签列表。 - 支持 `--issue-limit`、`--label-limit` 限制上下文规模。 - 支持 `--include-repo=false`、`--include-files=false` 等参数关闭部分上下文。 - 支持 `json`、`markdown`、`table` 输出。 ### 2. 增强 workflow API 响应归一化 - `apiList` 新增对 `reviews`、`issue_tags`、`labels` 字段的识别。 - 让 workflow 聚合 fetch 能稳定解析 PR Review 和标签列表响应。 ### 3. 补充测试 - 覆盖完整上下文抓取。 - 覆盖部分 section 失败时记录 `notes` 并继续输出。 - 覆盖所有启用 section 均失败时返回错误。 - 覆盖命令注册、JSON 输出、table/markdown 渲染和缺少 `--number` 的错误路径。 ### 4. 更新 README 与 Skills - README / README.zh-CN 增加 `workflow +review-context` 示例。 - 更新 `gitlink-workflow` Skill,新增 Review Context 工作流说明。 - 更新 `gitlink-code-review` Skill,优先使用 `workflow +review-context`。 - 更新 `gitlink-gatekeeper` Skill,用聚合上下文替代手工 Raw API 采集。 - 更新 `gitlink-insight` Skill,将已被 shortcut 覆盖的 repo/user Raw API 示例替换为 shortcut。 - 新增 `doc/changes/workflow-shortcut-backed-fetches.md`。 ## 问题描述 当前代码审查、门禁和洞察类 Skill 中,仍存在多处 Raw API 或分散命令采集流程。Agent 在进行 PR Review 或 Gatekeeper 判断前,需要手动拼接多个 请求获取 PR 详情、文件、Review、Issue、标签等上下文,流程不够稳定,也不利于统一测试和复用。 ## 问题复现步骤 1. 查看 `skills/gitlink-code-review/SKILL.md`。 2. 发现 PR 审查上下文需要分别获取 PR、文件、Diff,部分仓库扫描仍依赖 Raw API。 3. 查看 `skills/gitlink-gatekeeper/SKILL.md`。 4. 发现 PR 门禁采集流程包含多条分散命令和 Raw API commits 请求。 5. Agent 需要自行组合这些数据,缺少一个稳定、只读、结构化的上下文入口。 ## 根本原因 workflow 模块此前已有 `triage`、`health`、`pr-summary` 和 `repo-report`,但缺少一个面向 PR 审查前置数据采集的聚合 fetch 命令。相关 Skill 因此只能保留 Raw API 示例或多命令拼接流程,导致 Agent 工作流重复、分散且更容易遗漏上下文。 ## 修复方案 新增 `workflow +review-context`,在 workflow 层统一聚合已有 shortcut 对应的只读数据源: - `repo +info` 等价路径获取仓库信息 - `pr +view` 等价路径获取 PR 详情 - `pr +files` 等价路径获取变更文件 - `pr +reviews` 等价路径获取已有 Review - `issue +list --state open` 等价路径获取开放 Issue - `label +list` 等价路径获取标签 命令保持只读,不执行评论、审批、拒绝、合并、标签变更或关闭操作。部分数据源失败时写入 `notes`,让 Agent 可以基于可用上下文继续工作。 ## ���证 - `gofmt -w shortcuts/workflow/...` - `git diff --check` - `go run ./internal/i18n/cmd/check` - `go test ./shortcuts/workflow ./shortcuts` - `go test ./...`
ohanabi added 1 commit 2026-07-03 11:34:44 +08:00
wbtiger merged commit cdf41dff07 into master 2026-07-14 22:29:16 +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#324
No description provided.