DevOps 平台自动化
零依赖 Python CLI 操作 Coding.net Open API。覆盖 MR 完整生命周期(创建/合并/关闭/评论/更新)、CI 构建管理、制品库查询、跨项目枚举搜索、远程文件审计和分支管理。自动 ID 解析。
FEATURES
创建、合并、关闭、更新 MR。查看 diff、发表/列出评论。自动检测分支模型确定 MR 目标分支。
触发构建、查看构建日志、停止运行中的构建、查看构建阶段。与 Coding CI/CD 深度集成。
查看 Docker/npm/Maven 制品仓库。浏览包版本列表,获取下载 URL。
枚举团队所有项目和仓库,按名称搜索项目,查看项目成员、仓库列表。
不 clone 整个仓库即可读取远程文件 (depot file)、查看目录树 (depot tree)、查看 commit diff。
用户只需提供项目名/仓库名,CLI 自动解析为 projectId/depotId。缓存解析结果避免重复 API 调用。
REFERENCE
auth — 凭证管理
| 命令 | 说明 | 示例 |
|---|---|---|
init | 非交互式初始化 | ./coding auth init --team my-team --token tok_xxx |
status | 检查连接状态 | ./coding auth status |
clean | 清除凭证 | ./coding auth clean |
depot — Git 仓库 + MR + 远程审计
| 命令 | 说明 | 示例 |
|---|---|---|
list | 列出仓库 | ./coding depot list --project myproject |
branches | 查看分支 | ./coding depot branches --depot-id 123 |
tags | 查看标签 | ./coding depot tags --depot-id 123 |
commits | 提交历史 | ./coding depot commits --depot-id 123 --branch main |
file | 远程读文件 | ./coding depot file --depot-id 123 --path README.md |
tree | 远程目录树 | ./coding depot tree --depot-id 123 --path src/ |
commit-diff | 查看 commit diff | ./coding depot commit-diff --depot-id 123 --sha abc1234 |
commit-files | commit 变更文件 | ./coding depot commit-files --depot-id 123 --sha abc1234 |
create-branch | 创建分支 | ./coding depot create-branch --depot-id 123 --name feature/x --from main |
delete-branch | 删除分支 | ./coding depot delete-branch --depot-id 123 --name feature/old |
mr-create | 创建 MR | ./coding depot mr-create --depot-id 123 --title "feat" --src feature/x |
mr-merge | 合并 MR | ./coding depot mr-merge --depot-id 123 --merge-id 1 |
mr-close | 关闭 MR | ./coding depot mr-close --depot-id 123 --merge-id 1 |
mr-update | 更新 MR | ./coding depot mr-update --depot-id 123 --merge-id 1 --title "新标题" |
mr-diff | 查看 MR diff | ./coding depot mr-diff --depot-id 123 --merge-id 1 |
mr-comments | 列出 MR 评论 | ./coding depot mr-comments --depot-id 123 --merge-id 1 |
mr-comment | 发表 MR 评论 | ./coding depot mr-comment --depot-id 123 --merge-id 1 --content "LGTM" |
ci — 构建管理
| 命令 | 说明 | 示例 |
|---|---|---|
jobs | 构建任务列表 | ./coding ci jobs --project 456 |
trigger | 触发构建 | ./coding ci trigger --project 456 --job 789 --ref main |
log | 查看构建日志 | ./coding ci log --project 456 --id 100 |
stop | 停止构建 | ./coding ci stop --project 456 --id 100 |
artifact — 制品管理
| 命令 | 说明 | 示例 |
|---|---|---|
repos | 制品仓库列表 | ./coding artifact repos --project 456 --type docker |
packages | 包列表 | ./coding artifact packages --project 456 --repo my-docker |
versions | 版本列表 | ./coding artifact versions --project 456 --repo r --pkg p |
download-url | 下载地址 | ./coding artifact download-url --project 456 --repo r --pkg p --version v1.0 |
project — 跨项目查询
| 命令 | 说明 | 示例 |
|---|---|---|
list | 列出所有项目 | ./coding project list |
info | 项目详情 | ./coding project info --project myproject |
find | 按名称搜索 | ./coding project find --name "frontend" |
members | 项目成员 | ./coding project members --project myproject |
depots | 项目仓库列表 | ./coding project depots --project myproject |
| 场景 | 用什么 |
|---|---|
| MR 创建/合并/关闭/评论 | ✅ 本技能(git 做不到) |
| CI 触发/查看日志/停止 | ✅ 本技能(git 做不到) |
| 制品库查版本/下载 | ✅ 本技能(git 做不到) |
| 远程读文件(不 clone) | ✅ 本技能(更高效) |
| 跨项目查询/成员查看 | ✅ 本技能(git 做不到) |
| 分支创建/删除(远程) | ✅ 本技能(免 clone) |
| 多文件代码开发 | ❌ 标准 git |
| 本地已 clone 的仓库 | ❌ 直接读文件 |
对 Agent 说:
"帮我在 my-project 仓库创建一个 MR,从 feature/auth 合到 dev"
Agent 自动:
用户只需提供名称,CLI 自动解析为内部 ID:
| 用户提供 | 自动解析为 |
|---|---|
项目名 "my-project" | projectId: 123456 |
仓库名 "backend" | depotId: 789012 |
--project + --depot | 联合解析 |
解析结果缓存,后续操作免重复 API 调用。
Agent 执行 MR 操作时必须遵守:
检测分支 → 优先级: dev > develop > test > staging > main
MR 目标 → 始终指向最低级别的集成分支
禁止行为 → 直接向 master/main 建 MR(除非它是唯一分支)| 分支类型 | 命名规范 | 示例 |
|---|---|---|
| Feature | feature/<name> | feature/add-auth |
| Bugfix | fix/<name> | fix/null-pointer |
| Probe | probe/<name> | probe/api-test |
Coding.net 使用统一 POST 端点 + Action 路由:
POST https://{team}.coding.net/open-api?Action={ActionName}
Authorization: Bearer {personal_access_token}
Content-Type: application/json
Body: { "DepotId": 123, ... }ProjectName, DepotId, MergeId{"Response": {...data}} 或 {"Response": {"Error": {...}}}coding-integration/
├── coding ← Bash CLI 入口
├── SKILL.md ← Agent 指令文件
├── scripts/
│ ├── coding_api.py ← 核心引擎 (HTTP + 统一 POST + Action 路由 + ID 缓存)
│ ├── auth.py ← 凭据管理 (init / status / clean)
│ ├── depot.py ← Git 仓库 (branches / file / tree / MR 完整生命周期 / 分支管理)
│ ├── ci.py ← CI 构建 (trigger / log / stop / stages)
│ ├── artifact.py ← 制品库 (repos / packages / versions / download)
│ └── project.py ← 项目管理 (list / info / find / members / depots)
├── evals/
│ └── evals.json ← 测试用例
└── references/
└── api_reference.md ← Coding.net Open API 参考INSTALL