关于 apidog-branch
通过 Apidog CLI 管理分支协作和 AI 编写的资源变更,强调明确分支上下文、在 AI 分支验证、处理写入权限,并在合并或创建合并请求前取得用户确认。
主要功能
- 01管理分支范围内的操作
- 02创建并填充 AI 分支
- 03使用 pick-to 导入资源
- 04在同一分支验证变更
- 05处理写入权限与合并确认
适用场景
- 01在 AI 分支编辑 API 资源
- 02创建合并请求前验证变更
- 03排查分支专属资源查询问题
- 04为受保护分支选择变更策略
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ apidog/ apidog-cli-skills --skill apidog-branch安装后在 Claude Code 中输入/apidog-branch确认已加载。
详细介绍
分支协作与 AI 写入
前置条件:请先阅读
../apidog-cli/SKILL.md。如果稳定入口技能与此领域技能冲突,请以当前 CLI 帮助和此技能为准。
始终使用当前 CLI 帮助确认准确参数。此技能补充了最容易被误用的分支协作规则:分支上下文、AI 分支、pick-to、写入权限、受保护分支和合并确认。在分支上写入后,Agent 必须使用相同的 --branch 回读并验证;不要根据默认分支视图判断资源是否存在。
适用场景
- 用户指定
--branch或要求在某个分支上操作。 - 创建、查看、更新、归档或删除分支。
- 创建 AI 分支,并从源分支修改资源。
- 将源分支资源 pick 到 AI 分支。
- 合并分支或创建/批准合并请求。
- 遇到 AI 写入权限限制。
命令入口
- 分支管理:
apidog branch --help - 合并请求:
apidog merge-request --help - 资源命令通常支持
--branch <branchName>。查询、创建、更新和测试运行时,请保持相同的分支上下文。
先确定变更策略
在分支上写入前,请先确认用户希望采用哪种策略:
- 直接编辑目标分支:适用于用户明确允许直接变更,且目标分支未受保护或权限限制的情况。
- 通过 AI 分支编辑:适用于 AI 生成的 API、测试用例、测试场景或配置变更;也适用于目标分支受保护、禁止外部 AI 直接写入,或用户希望在合并前隔离验证的情况。
开始写入前,请确认:
- 项目 ID。
- 源分支和目标分支。
- 要修改的资源范围。
- 是否允许创建合并请求或稍后合并。
AI 分支工作流
AI 分支可隔离 AI 变更,避免污染源分支。
Confirm source branch and target change
-> create AI branch
-> pick-to existing resources
-> modify on AI branch
-> validate with get/run/report
-> preview merge-request
-> after user confirmation, create merge-request or merge
标准步骤:
- 创建 AI 分支时,使用
--from <sourceBranchName>指定其源分支。 - 使用清晰的名称,例如
ai/YYYYMMDD-from-source-feature,如ai/20260312-from-main-userRegister。 - 修改现有源分支资源前,使用
branch pick-to将其导入 AI 分支;新资源无需 pick-to。 - 在 AI 分支上修改、查询或验证时,始终传入
--branch <aiBranchName>。 - 按资源类型进行验证,例如使用
get、run、本地报告或云端报告检查。 - 合并前,运行
merge-request preview,并让用户确认影响。 - 用户确认后,创建合并请求或执行合并;对于受保护的 main 分支,优先使用合并请求。
AI 分支说明:
- AI 分支初始为空,不会自动复制源分支的所有资源。
branch get可能返回type: SPRINT和isAiBranch: true;这不代表操作时应使用--type sprint。AI 分支操作仍应遵循当前帮助,并在需要时使用--type ai。
分支参数规则
- 优先使用分支名称:
--branch <branchName>。 - 数字 branchId 可能也兼容,但分支名称更便于在日志中查看和诊断。
- 同一任务中,查询、创建、更新和运行测试时,请使用相同的分支上下文,以免误从 main/默认分支查找资源。
Pick-To 规则
- 必须传入
--type ai。 - 仅支持将 main 或常规 sprint 分支中的资源导入 AI 分支。
- 不能导入 main。
- 不能将 AI 分支用作源分支。
- 使用
--include-endpoint-cases可同时导入端点及其用例。
写入权限规则
- main、sprint 和常规分支可能需要启用外部 AI 编辑权限。
- 常见错误包括
Automation caller branch required。 - 创建 AI 分支可能成功,但如果禁用了 AI 分支的 AI 编辑功能,仍可能无法向 AI 分支写入内容。
- 写入受限时,不要自动切换策略;应询问用户是启用直接编辑权限,还是使用 AI 分支。
- 如果目标 main 分支受到保护,优先使用
merge-request preview/create;不要直接运行branch merge。
不得违反的规则
- 未经用户确认,不得创建 AI 分支。
- 在 AI 分支中修改现有源分支资源前,必须先使用 pick-to。
- 在针对分支的任务中,不得省略
--branch <branchName>。 - 未经用户确认,不得合并、创建合并请求或批准合并请求。
- 除非用户明确要求,否则不得删除或归档分支。
- 遇到
Automation caller branch required时,应停止并询问用户选择权限策略;不得自动创建或切换到 AI 分支。
常见问题恢复
| 现象 | 操作 |
|---|---|
不指定分支执行 get 时找不到资源 | 使用 --branch <branchName> 重试 |
| AI 分支中缺少源资源 | 先使用 branch pick-to |
| 分支状态显示有计数,但 AI 分支页面为空 | 不要认为资源已导入;AI 分支仍需要执行 pick-to |
| 分支上的运行配置返回 404 | 确认 case/endpoint/environment/branch 均存在,然后切换到 apidog-cli-checkup |
| 受保护分支阻止合并 | 改用 merge-request |
评论
支持 Markdown