Codeup 技能
本技能提供与云效(Codeup)平台交互的 Python 脚本工具,统一通过 codeup.py 调用。
环境配置
使用前需要配置以下环境变量:
bash
export YUNXIAOACCESSTOKEN=你的个人访问令牌
获取访问令牌:
- 1. 登录阿里云控制台
- 进入云效(Codeup)
- 设置 -> 访问令牌管理 -> 创建个人访问令牌
使用方式
bash
python scripts/codeup.py [参数]
所有命令默认输出 JSON 格式结果。
命令列表
用户与组织
| 命令 | 说明 |
|---|
| getcurrentuser | 获取当前用户信息 |
| listorganizations |
列出用户所属组织(获取 orgid) |
部门与成员
| 命令 | 说明 |
|---|
| listdepartments | 列出部门 |
| getdepartment |
获取部门详情 |
| list_members | 列出组织成员 |
| get
organizationmember | 获取成员详情 |
| search_members | 搜索成员 |
| list_roles | 列出角色 |
仓库操作
| 命令 | 说明 |
|---|
| getrepository | 获取仓库详情 |
| listrepositories |
列出仓库 |
repo_id 参数格式(通用)
所有支持 repo_id 参数的命令都支持两种格式:
| 格式 | 示例 | 说明 |
|---|
| 数字 ID | 5822285 | 仓库的数字 ID |
| URL-Encoder 路径 |
abcyun%2Fabc-fed-common%2Fabc-nestjs-lib | 编码后的 namespace/group/repoName |
支持的命令:
- - 仓库操作: getrepository
- 分支操作: getbranch, createbranch, deletebranch, listbranches
- 文件操作: getfile, createfile, updatefile, deletefile, listfiles
- 代码对比: compare
- MR 操作: getchangerequest, createmergerequest, closemergerequest, mergechangerequest, reopenchangerequest, reviewchangerequest, updatechangerequest, getchangerequesttree, createmergerequestcomment, listmergerequestcomments, deletechangerequestcomment, updatechangerequestcomment, listmergerequestpatch_sets
使用示例:
bash
方式1: 使用数字 ID
python scripts/codeup.py get
repository --orgid 62d62893487c500c27f72e36 --repo_id 5822285
方式2: 使用 URL-Encoder 编码路径
python scripts/codeup.py get_repository \
--org_id 62d62893487c500c27f72e36 \
--repo_id abcyun%2Fabc-fed-common%2Fabc-nestjs-lib
分支操作也支持
python scripts/codeup.py list_branches \
--org_id 62d62893487c500c27f72e36 \
--repo_id abcyun%2Fabc-fed-common%2Fabc-nestjs-lib
文件操作也支持
python scripts/codeup.py get_file \
--org_id 62d62893487c500c27f72e36 \
--repo_id abcyun%2Fabc-fed-common%2Fabc-nestjs-lib \
--file_path README.md \
--branch master
使用场景: 当用户提供仓库 URL 时(如 https://codeup.aliyun.com/abcyun/abc-fed-common/abc-nestjs-lib/change/1),LLM 可以:
- 1. 提取路径: abcyun/abc-fed-common/abc-nestjs-lib
- URL 编码 / 为 %2F: abcyun%2Fabc-fed-common%2Fabc-nestjs-lib
- 直接调用任何命令,无需先查询 repo_id
分支操作
| 命令 | 说明 |
|---|
| getbranch | 获取分支详情 |
| createbranch |
创建分支 |
| delete_branch | 删除分支 |
| list_branches | 列出分支 |
文件操作
| 命令 | 说明 |
|---|
| getfile | 获取文件内容 |
| createfile |
创建文件 |
| update_file | 更新文件 |
| delete_file | 删除文件 |
| list_files | 列出文件树 |
| compare | 对比代码差异 |
合并请求
| 命令 | 说明 |
|---|
| getchangerequest | 获取 MR 详情 |
| listmergerequests |
列出 MR |
| create
mergerequest | 创建 MR |
| close
mergerequest | 关闭 MR |
| merge
changerequest | 合并 MR |
| reopen
changerequest | 重新打开已关闭的 MR |
| review
changerequest | 审查 MR(批准/拒绝) |
| update
changerequest | 更新 MR 信息 |
| get
changerequest_tree | 获取 MR 变更文件列表 |
| create
mergerequest_comment | 添加 MR 评论 |
| list
mergerequest_comments | 列出 MR 评论 |
| delete
changerequest_comment | 删除 MR 评论 |
| update
changerequest_comment | 更新 MR 评论 |
| list
mergerequest
patchsets | 列出 MR 补丁集 |
使用示例
查询组织信息
bash
获取当前用户
python scripts/codeup.py get
currentuser
列出用户所属组织(获取 org_id)
python scripts/codeup.py list_organizations
组织成员管理
bash
列出部门
python scripts/codeup.py list
departments --orgid 62d62893487c500c27f72e36
获取部门详情
python scripts/codeup.py get
department --orgid 62d62893487c500c27f72e36 --dept_id 68d910db15dfc6c8604fccb4
列出所有成员
python scripts/codeup.py list
members --orgid 62d62893487c500c27f72e36
获取成员详情
python scripts/codeup.py get
organizationmember --org
id 62d62893487c500c27f72e36 --memberid 639fe0e38d9a873a30aad3df
搜索成员
python scripts/codeup.py search
members --orgid 62d62893487c500c27f72e36 --query 姓名
列出角色
python scripts/codeup.py list
roles --orgid 62d62893487c500c27f72e36
仓库与分支管理
bash
列出仓库
python scripts/codeup.py list
repositories --orgid 62d62893487c500c27f72e36
获取仓库详情
python scripts/codeup.py get
repository --orgid 62d62893487c500c27f72e36 --repo_id 5822285
列出分支
python scripts/codeup.py list
branches --orgid 62d62893487c500c27f72e36 --repo_id 5822285
创建分支
python scripts/codeup.py create_branch \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--branch_name feature/new-feature \
--source_branch master
删除分支
python scripts/codeup.py delete_branch \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--branch_name feature/old-feature
文件操作
bash
获取文件内容
python scripts/codeup.py get_file \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--file_path README.md \
--branch master
创建文件
python scripts/codeup.py create_file \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--file_path docs/new-doc.md \
--content # 新文档\n\n这是内容 \
--branch feature/new-feature