Skip to content
IN DEVELOPMENT集成Coding.netPython零依赖v0.2.2

Coding.net 集成

DevOps 平台自动化

零依赖 Python CLI 操作 Coding.net Open API。覆盖 MR 完整生命周期(创建/合并/关闭/评论/更新)、CI 构建管理、制品库查询、跨项目枚举搜索、远程文件审计和分支管理。自动 ID 解析。

Coding.net 集成
认证初始化
$./coding auth init --team my-team --token tok_xxx
OK Connected to my-team.coding.net (User: norix)
创建 MR(自动检测目标分支)
$./coding depot mr-create --depot-id 123 --title "feat: auth module" --src feature/auth
OK MR #42 created: feature/auth → dev
跨项目查询
$./coding project find --name "frontend"
frontend-web [ID: 456] members: 8

核心能力

MR 完整生命周期

创建、合并、关闭、更新 MR。查看 diff、发表/列出评论。自动检测分支模型确定 MR 目标分支。

CI 自动化

触发构建、查看构建日志、停止运行中的构建、查看构建阶段。与 Coding CI/CD 深度集成。

制品库管理

查看 Docker/npm/Maven 制品仓库。浏览包版本列表,获取下载 URL。

跨项目查询

枚举团队所有项目和仓库,按名称搜索项目,查看项目成员、仓库列表。

远程文件审计

不 clone 整个仓库即可读取远程文件 (depot file)、查看目录树 (depot tree)、查看 commit diff。

ID 自动解析

用户只需提供项目名/仓库名,CLI 自动解析为 projectId/depotId。缓存解析结果避免重复 API 调用。

命令参考

认证

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-filescommit 变更文件./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

使用场景

什么时候用本技能 vs 标准 Git

场景用什么
MR 创建/合并/关闭/评论✅ 本技能(git 做不到)
CI 触发/查看日志/停止✅ 本技能(git 做不到)
制品库查版本/下载✅ 本技能(git 做不到)
远程读文件(不 clone)✅ 本技能(更高效)
跨项目查询/成员查看✅ 本技能(git 做不到)
分支创建/删除(远程)✅ 本技能(免 clone)
多文件代码开发❌ 标准 git
本地已 clone 的仓库❌ 直接读文件

Quick Start

对 Agent 说:

"帮我在 my-project 仓库创建一个 MR,从 feature/auth 合到 dev"

Agent 自动:

  1. 检查凭证 → 必要时引导初始化
  2. 按名称解析 project → projectId,repo → depotId
  3. 检测分支模型 → 确认目标分支
  4. 创建 MR → 返回链接

ID 自动解析

用户只需提供名称,CLI 自动解析为内部 ID:

用户提供自动解析为
项目名 "my-project"projectId: 123456
仓库名 "backend"depotId: 789012
--project + --depot联合解析

解析结果缓存,后续操作免重复 API 调用。

分支安全策略

Agent 执行 MR 操作时必须遵守

检测分支 → 优先级: dev > develop > test > staging > main
MR 目标 → 始终指向最低级别的集成分支
禁止行为 → 直接向 master/main 建 MR(除非它是唯一分支)
分支类型命名规范示例
Featurefeature/<name>feature/add-auth
Bugfixfix/<name>fix/null-pointer
Probeprobe/<name>probe/api-test

API 协议

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, ... }
  • 不是 REST:没有 URL 路径路由
  • 参数名大驼峰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
via skills.sh (推荐)
$npx skills add northseadl/norix-skills/coding-net-integration
或手动安装
$git clone https://github.com/northseadl/norix-skills.git
$ln -s norix-skills/coding-net-integration <SKILLS_DIR>/coding-net-integration
验证
$./coding auth status
OK Skill ready.

Built for AI Agents, by Norix