feat(ci): add repository CI control shortcuts #317

Merged
wbtiger merged 1 commits from ohanabi/gitlink-cli:feat/ci-control-shortcuts into master 2026-07-14 22:26:14 +08:00
Contributor

合并请求描述

本次合并请求为 CI/CD 快捷命令补齐仓库级 CI 控制能力,新增 ci +activateci +deactivateci +authorize,将原本只能
通过 Raw API 使用的 CI 激活、停用和授权查询能力沉淀为标准 Shortcut。

相关Issue

关联Issue编号:暂无

变更内容

1. 增强了 CI/CD Shortcut 能力

  • 新增 ci +activate,用于激活仓库 CI。
  • 新增 ci +deactivate,用于停用仓库 CI。
  • 新增 ci +authorize,用于查询仓库 CI 授权状态。

2. 增强了写操作安全保护

  • ci +activateci +deactivate 默认不会直接修改远端状态。
  • 支持 --dry-run 预览请求方法、路径、仓库和动作。
  • 真实执行必须显式传入 --yes

3. 增强了测试覆盖

  • 覆盖 activate/deactivate/authorize 的 HTTP 方法和路径映射。
  • 覆盖 dry-run 不调用远端 API 的行为。
  • 覆盖缺少 --yes 时拒绝执行的保护逻辑。
  • 覆盖 HTTP 错误传播。

4. 完善了文档和 Agent Skill

  • 更新 README 和 README.zh-CN 中的 CI/CD 示例。
  • 修正英文 README 中旧的 ci +listci +log 示例为现有命令。
  • 更新 skills/gitlink-ci/SKILL.md,优先推荐 Shortcut 而不是 Raw API。
  • 新增 doc/changes/ci-control-shortcuts.md 变更说明。

问题描述

CI 快捷命令已有构建列表、日志查看、重启和停止构建能力,但仓库级 CI 激活、停用和授权状态查询仍需要通过 Raw API 使用,命
令体验不统一,也不利于 Agent 场景稳定调用。

问题复现步骤

  1. 查看 skills/gitlink-ci/SKILL.md
  2. 可以看到 CI 激活、停用和授权查询仍记录为 Raw API 调用。
  3. 使用者需要手动拼接 API 方法和路径,且写操作缺少统一的 dry-run/confirm 保护。

根本原因

CI Shortcut 只覆盖了构建维度操作,没有覆盖仓库维度的 CI 控制接口,导致文档和 Skill 只能保留 Raw API 示例。

修复方案

shortcuts/ci 中新增三个 Shortcut:

  • ci +activate 映射 POST /:owner/:repo/activate
  • ci +deactivate 映射 DELETE /:owner/:repo/deactivate
  • ci +authorize 映射 GET /:owner/:repo/ci_authorize

其中 activate/deactivate 属于状态变更操作,增加 --dry-run--yes 保护;authorize 为只读查询,可直接执行。同步补齐
i18n、单元测试、README、中文 README、Skill 文档和 change note。

已验证:

git diff --check
go run ./internal/i18n/cmd/check
go test ./shortcuts/ci ./shortcuts
go test ./...

## 合并请求描述 本次合并请求为 CI/CD 快捷命令补齐仓库级 CI 控制能力,新增 `ci +activate`、`ci +deactivate`、`ci +authorize`,将原本只能 通过 Raw API 使用的 CI 激活、停用和授权查询能力沉淀为标准 Shortcut。 ## 相关Issue 关联Issue编号:暂无 ## 变更内容 ### 1. 增强了 CI/CD Shortcut 能力 - 新增 `ci +activate`,用于激活仓库 CI。 - 新增 `ci +deactivate`,用于停用仓库 CI。 - 新增 `ci +authorize`,用于查询仓库 CI 授权状态。 ### 2. 增强了写操作安全保护 - `ci +activate` 和 `ci +deactivate` 默认不会直接修改远端状态。 - 支持 `--dry-run` 预览请求方法、路径、仓库和动作。 - 真实执行必须显式传入 `--yes`。 ### 3. 增强了测试覆盖 - 覆盖 activate/deactivate/authorize 的 HTTP 方法和路径映射。 - 覆盖 dry-run 不调用远端 API 的行为。 - 覆盖缺少 `--yes` 时拒绝执行的保护逻辑。 - 覆盖 HTTP 错误传播。 ### 4. 完善了文档和 Agent Skill - 更新 README 和 README.zh-CN 中的 CI/CD 示例。 - 修正英文 README 中旧的 `ci +list`、`ci +log` 示例为现有命令。 - 更新 `skills/gitlink-ci/SKILL.md`,优先推荐 Shortcut 而不是 Raw API。 - 新增 `doc/changes/ci-control-shortcuts.md` 变更说明。 ## 问题描述 CI 快捷命令已有构建列表、日志查看、重启和停止构建能力,但仓库级 CI 激活、停用和授权状态查询仍需要通过 Raw API 使用,命 令体验不统一,也不利于 Agent 场景稳定调用。 ## 问题复现步骤 1. 查看 `skills/gitlink-ci/SKILL.md`。 2. 可以看到 CI 激活、停用和授权查询仍记录为 Raw API 调用。 3. 使用者需要手动拼接 API 方法和路径,且写操作缺少统一的 dry-run/confirm 保护。 ## 根本原因 CI Shortcut 只覆盖了构建维度操作,没有覆盖仓库维度的 CI 控制接口,导致文档和 Skill 只能保留 Raw API 示例。 ## 修复方案 在 `shortcuts/ci` 中新增三个 Shortcut: - `ci +activate` 映射 `POST /:owner/:repo/activate` - `ci +deactivate` 映射 `DELETE /:owner/:repo/deactivate` - `ci +authorize` 映射 `GET /:owner/:repo/ci_authorize` 其中 activate/deactivate 属于状态变更操作,增加 `--dry-run` 和 `--yes` 保护;authorize 为只读查询,可直接执行。同步补齐 i18n、单元测试、README、中文 README、Skill 文档和 change note。 已验证: git diff --check go run ./internal/i18n/cmd/check go test ./shortcuts/ci ./shortcuts go test ./...
ohanabi added 1 commit 2026-07-02 13:45:19 +08:00
wbtiger merged commit 7ae27f76a5 into master 2026-07-14 22:26:09 +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#317
No description provided.