codeup

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Codeup Skill

Codeup Skill

本 skill 提供与云效(Codeup)平台交互的 Python 脚本工具,统一通过
codeup.py
调用。
本 skill 提供与云效(Codeup)平台交互的 Python 脚本工具,统一通过
codeup.py
调用。

环境配置

环境配置

使用前需要配置以下环境变量:
bash
export YUNXIAO_ACCESS_TOKEN="你的个人访问令牌"
获取访问令牌:
  1. 登录阿里云控制台
  2. 进入云效(Codeup)
  3. 设置 -> 访问令牌管理 -> 创建个人访问令牌
使用前需要配置以下环境变量:
bash
export YUNXIAO_ACCESS_TOKEN="你的个人访问令牌"
获取访问令牌:
  1. 登录阿里云控制台
  2. 进入云效(Codeup)
  3. 设置 -> 访问令牌管理 -> 创建个人访问令牌

使用方式

使用方式

bash
python scripts/codeup.py <command> [参数]
所有命令默认输出 JSON 格式结果。
bash
python scripts/codeup.py <command> [参数]
所有命令默认输出 JSON 格式结果。

命令列表

命令列表

用户与组织

用户与组织

命令说明
get_current_user
获取当前用户信息
list_organizations
列出用户所属组织(获取 org_id)
命令说明
get_current_user
获取当前用户信息
list_organizations
列出用户所属组织(获取 org_id)

部门与成员

部门与成员

命令说明
list_departments
列出部门
get_department
获取部门详情
list_members
列出组织成员
get_organization_member
获取成员详情
search_members
搜索成员
list_roles
列出角色
命令说明
list_departments
列出部门
get_department
获取部门详情
list_members
列出组织成员
get_organization_member
获取成员详情
search_members
搜索成员
list_roles
列出角色

仓库操作

仓库操作

命令说明
get_repository
获取仓库详情
list_repositories
列出仓库
命令说明
get_repository
获取仓库详情
list_repositories
列出仓库

repo_id 参数格式(通用)

repo_id 参数格式(通用)

所有支持
repo_id
参数的命令都支持两种格式
格式示例说明
数字 ID
5822285
仓库的数字 ID
URL-Encoder 路径
abcyun%2Fabc-fed-common%2Fabc-nestjs-lib
编码后的
namespace/group/repoName
支持的命令
  • 仓库操作:
    get_repository
  • 分支操作:
    get_branch
    ,
    create_branch
    ,
    delete_branch
    ,
    list_branches
  • 文件操作:
    get_file
    ,
    create_file
    ,
    update_file
    ,
    delete_file
    ,
    list_files
  • 代码对比:
    compare
  • MR 操作:
    get_change_request
    ,
    create_merge_request
    ,
    close_merge_request
    ,
    merge_change_request
    ,
    reopen_change_request
    ,
    review_change_request
    ,
    update_change_request
    ,
    get_change_request_tree
    ,
    create_merge_request_comment
    ,
    list_merge_request_comments
    ,
    delete_change_request_comment
    ,
    update_change_request_comment
    ,
    list_merge_request_patch_sets
使用示例
bash
undefined
所有支持
repo_id
参数的命令都支持两种格式
格式示例说明
数字 ID
5822285
仓库的数字 ID
URL-Encoder 路径
abcyun%2Fabc-fed-common%2Fabc-nestjs-lib
编码后的
namespace/group/repoName
支持的命令
  • 仓库操作:
    get_repository
  • 分支操作:
    get_branch
    ,
    create_branch
    ,
    delete_branch
    ,
    list_branches
  • 文件操作:
    get_file
    ,
    create_file
    ,
    update_file
    ,
    delete_file
    ,
    list_files
  • 代码对比:
    compare
  • MR 操作:
    get_change_request
    ,
    create_merge_request
    ,
    close_merge_request
    ,
    merge_change_request
    ,
    reopen_change_request
    ,
    review_change_request
    ,
    update_change_request
    ,
    get_change_request_tree
    ,
    create_merge_request_comment
    ,
    list_merge_request_comments
    ,
    delete_change_request_comment
    ,
    update_change_request_comment
    ,
    list_merge_request_patch_sets
使用示例
bash
undefined

方式1: 使用数字 ID

方式1: 使用数字 ID

python scripts/codeup.py get_repository --org_id 62d62893487c500c27f72e36 --repo_id 5822285
python scripts/codeup.py get_repository --org_id 62d62893487c500c27f72e36 --repo_id 5822285

方式2: 使用 URL-Encoder 编码路径

方式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 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 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`
2. URL 编码 `/` 为 `%2F`: `abcyun%2Fabc-fed-common%2Fabc-nestjs-lib`
3. 直接调用任何命令,无需先查询 repo_id
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`
2. URL 编码 `/` 为 `%2F`: `abcyun%2Fabc-fed-common%2Fabc-nestjs-lib`
3. 直接调用任何命令,无需先查询 repo_id

分支操作

分支操作

命令说明
get_branch
获取分支详情
create_branch
创建分支
delete_branch
删除分支
list_branches
列出分支
命令说明
get_branch
获取分支详情
create_branch
创建分支
delete_branch
删除分支
list_branches
列出分支

文件操作

文件操作

命令说明
get_file
获取文件内容
create_file
创建文件
update_file
更新文件
delete_file
删除文件
list_files
列出文件树
compare
对比代码差异
命令说明
get_file
获取文件内容
create_file
创建文件
update_file
更新文件
delete_file
删除文件
list_files
列出文件树
compare
对比代码差异

合并请求

合并请求

命令说明
get_change_request
获取 MR 详情
list_merge_requests
列出 MR
create_merge_request
创建 MR
close_merge_request
关闭 MR
merge_change_request
合并 MR
reopen_change_request
重新打开已关闭的 MR
review_change_request
审查 MR(批准/拒绝)
update_change_request
更新 MR 信息
get_change_request_tree
获取 MR 变更文件列表
create_merge_request_comment
添加 MR 评论
list_merge_request_comments
列出 MR 评论
delete_change_request_comment
删除 MR 评论
update_change_request_comment
更新 MR 评论
list_merge_request_patch_sets
列出 MR 补丁集
命令说明
get_change_request
获取 MR 详情
list_merge_requests
列出 MR
create_merge_request
创建 MR
close_merge_request
关闭 MR
merge_change_request
合并 MR
reopen_change_request
重新打开已关闭的 MR
review_change_request
审查 MR(批准/拒绝)
update_change_request
更新 MR 信息
get_change_request_tree
获取 MR 变更文件列表
create_merge_request_comment
添加 MR 评论
list_merge_request_comments
列出 MR 评论
delete_change_request_comment
删除 MR 评论
update_change_request_comment
更新 MR 评论
list_merge_request_patch_sets
列出 MR 补丁集

使用示例

使用示例

查询组织信息

查询组织信息

bash
undefined
bash
undefined

获取当前用户

获取当前用户

python scripts/codeup.py get_current_user
python scripts/codeup.py get_current_user

列出用户所属组织(获取 org_id)

列出用户所属组织(获取 org_id)

python scripts/codeup.py list_organizations
undefined
python scripts/codeup.py list_organizations
undefined

组织成员管理

组织成员管理

bash
undefined
bash
undefined

列出部门

列出部门

python scripts/codeup.py list_departments --org_id 62d62893487c500c27f72e36
python scripts/codeup.py list_departments --org_id 62d62893487c500c27f72e36

获取部门详情

获取部门详情

python scripts/codeup.py get_department --org_id 62d62893487c500c27f72e36 --dept_id 68d910db15dfc6c8604fccb4
python scripts/codeup.py get_department --org_id 62d62893487c500c27f72e36 --dept_id 68d910db15dfc6c8604fccb4

列出所有成员

列出所有成员

python scripts/codeup.py list_members --org_id 62d62893487c500c27f72e36
python scripts/codeup.py list_members --org_id 62d62893487c500c27f72e36

获取成员详情

获取成员详情

python scripts/codeup.py get_organization_member --org_id 62d62893487c500c27f72e36 --member_id 639fe0e38d9a873a30aad3df
python scripts/codeup.py get_organization_member --org_id 62d62893487c500c27f72e36 --member_id 639fe0e38d9a873a30aad3df

搜索成员

搜索成员

python scripts/codeup.py search_members --org_id 62d62893487c500c27f72e36 --query "姓名"
python scripts/codeup.py search_members --org_id 62d62893487c500c27f72e36 --query "姓名"

列出角色

列出角色

python scripts/codeup.py list_roles --org_id 62d62893487c500c27f72e36
undefined
python scripts/codeup.py list_roles --org_id 62d62893487c500c27f72e36
undefined

仓库与分支管理

仓库与分支管理

bash
undefined
bash
undefined

列出仓库

列出仓库

python scripts/codeup.py list_repositories --org_id 62d62893487c500c27f72e36
python scripts/codeup.py list_repositories --org_id 62d62893487c500c27f72e36

获取仓库详情

获取仓库详情

python scripts/codeup.py get_repository --org_id 62d62893487c500c27f72e36 --repo_id 5822285
python scripts/codeup.py get_repository --org_id 62d62893487c500c27f72e36 --repo_id 5822285

列出分支

列出分支

python scripts/codeup.py list_branches --org_id 62d62893487c500c27f72e36 --repo_id 5822285
python scripts/codeup.py list_branches --org_id 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 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
undefined
python scripts/codeup.py delete_branch
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--branch_name feature/old-feature
undefined

文件操作

文件操作

bash
undefined
bash
undefined

获取文件内容

获取文件内容

python scripts/codeup.py get_file
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--file_path README.md
--branch master
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
--message "Add new documentation"
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
--message "Add new documentation"

更新文件

更新文件

python scripts/codeup.py update_file
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--file_path README.md
--content "# 更新后的内容"
--message "Update README"
python scripts/codeup.py update_file
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--file_path README.md
--content "# 更新后的内容"
--message "Update README"

列出文件

列出文件

python scripts/codeup.py list_files
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--path src
--branch master
python scripts/codeup.py list_files
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--path src
--branch master

对比代码

对比代码

python scripts/codeup.py compare
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--from feature/new-feature
--to master
undefined
python scripts/codeup.py compare
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--from feature/new-feature
--to master
undefined

合并请求管理

合并请求管理

bash
undefined
bash
undefined

列出 MR

列出 MR

python scripts/codeup.py list_merge_requests
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
python scripts/codeup.py list_merge_requests
--org_id 62d62893487c500c27f72e36
--repo_id 5822285

列出打开的 MR

列出打开的 MR

python scripts/codeup.py list_merge_requests
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--state opened
python scripts/codeup.py list_merge_requests
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--state opened

获取 MR 详情

获取 MR 详情

python scripts/codeup.py get_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
python scripts/codeup.py get_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584

创建 MR

创建 MR

python scripts/codeup.py create_merge_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--title "Feature: 新功能"
--source_branch feature/new-feature
--target_branch master
--description "实现用户登录功能"
python scripts/codeup.py create_merge_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--title "Feature: 新功能"
--source_branch feature/new-feature
--target_branch master
--description "实现用户登录功能"

关闭 MR

关闭 MR

python scripts/codeup.py close_merge_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
python scripts/codeup.py close_merge_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584

添加 MR 评论

添加 MR 评论

python scripts/codeup.py create_merge_request_comment
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--content "代码审查通过"
python scripts/codeup.py create_merge_request_comment
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--content "代码审查通过"

列出 MR 评论

列出 MR 评论

python scripts/codeup.py list_merge_request_comments
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
python scripts/codeup.py list_merge_request_comments
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584

列出 MR 补丁集(提交)

列出 MR 补丁集(提交)

python scripts/codeup.py list_merge_request_patch_sets
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
python scripts/codeup.py list_merge_request_patch_sets
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584

合并 MR

合并 MR

python scripts/codeup.py merge_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--merge_type "no-fast-forward"
--remove_source_branch
python scripts/codeup.py merge_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--merge_type "no-fast-forward"
--remove_source_branch

重新打开已关闭的 MR

重新打开已关闭的 MR

python scripts/codeup.py reopen_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
python scripts/codeup.py reopen_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584

审查 MR(批准)

审查 MR(批准)

python scripts/codeup.py review_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--review_opinion PASS
--review_comment "代码审查通过"
python scripts/codeup.py review_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--review_opinion PASS
--review_comment "代码审查通过"

审查 MR(拒绝)

审查 MR(拒绝)

python scripts/codeup.py review_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--review_opinion NOT_PASS
--review_comment "需要修复单元测试"
python scripts/codeup.py review_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--review_opinion NOT_PASS
--review_comment "需要修复单元测试"

更新 MR 标题

更新 MR 标题

python scripts/codeup.py update_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--title "新的 MR 标题"
python scripts/codeup.py update_change_request
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--title "新的 MR 标题"

获取 MR 变更文件列表

获取 MR 变更文件列表

python scripts/codeup.py get_change_request_tree
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--from_patch_set_id patch_set_1
--to_patch_set_id patch_set_2
python scripts/codeup.py get_change_request_tree
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--from_patch_set_id patch_set_1
--to_patch_set_id patch_set_2

删除 MR 评论

删除 MR 评论

python scripts/codeup.py delete_change_request_comment
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--comment_biz_id 682d5c6d8a3b400a8c4b1234
python scripts/codeup.py delete_change_request_comment
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--comment_biz_id 682d5c6d8a3b400a8c4b1234

更新 MR 评论

更新 MR 评论

python scripts/codeup.py update_change_request_comment
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--comment_biz_id 682d5c6d8a3b400a8c4b1234
--content "更新后的评论内容"
undefined
python scripts/codeup.py update_change_request_comment
--org_id 62d62893487c500c27f72e36
--repo_id 5822285
--local_id 584
--comment_biz_id 682d5c6d8a3b400a8c4b1234
--content "更新后的评论内容"
undefined

常用命令速查

常用命令速查

bash
undefined
bash
undefined

组织成员

组织成员

python scripts/codeup.py list_members --org_id 62d62893487c500c27f72e36 python scripts/codeup.py search_members --org_id 62d62893487c500c27f72e36 --query "姓名"
python scripts/codeup.py list_members --org_id 62d62893487c500c27f72e36 python scripts/codeup.py search_members --org_id 62d62893487c500c27f72e36 --query "姓名"

仓库操作

仓库操作

python scripts/codeup.py list_repositories --org_id 62d62893487c500c27f72e36 python scripts/codeup.py list_branches --org_id 62d62893487c500c27f72e36 --repo_id 5822285
python scripts/codeup.py list_repositories --org_id 62d62893487c500c27f72e36 python scripts/codeup.py list_branches --org_id 62d62893487c500c27f72e36 --repo_id 5822285

文件操作

文件操作

python scripts/codeup.py get_file --org_id 62d62893487c500c27f72e36 --repo_id 5822285 --file_path README.md
python scripts/codeup.py get_file --org_id 62d62893487c500c27f72e36 --repo_id 5822285 --file_path README.md

MR 操作

MR 操作

python scripts/codeup.py list_merge_requests --org_id 62d62893487c500c27f72e36 --repo_id 5822285 --state opened python scripts/codeup.py get_change_request --org_id 62d62893487c500c27f72e36 --repo_id 5822285 --local_id 584
undefined
python scripts/codeup.py list_merge_requests --org_id 62d62893487c500c27f72e36 --repo_id 5822285 --state opened python scripts/codeup.py get_change_request --org_id 62d62893487c500c27f72e36 --repo_id 5822285 --local_id 584
undefined

Claude 使用方式

Claude 使用方式

当用户需要与云效交互时:
  1. 获取 org_id:先调用
    list_organizations
    获取组织列表,选择目标组织
  2. 获取 repo_id
    • 方式一:调用
      list_repositories
      列出仓库,选择目标仓库获取数字 ID
    • 方式二:从用户提供的 URL 或路径中提取
      namespace/group(可选)/repoName
      ,然后使用,
  3. 构建命令:根据需求构建相应参数
  4. 执行脚本:使用 Bash 工具运行
  5. 处理结果:解析输出,分析数据
示例工作流:
用户: "查看当前组织的成员列表"

Claude:
1. python scripts/codeup.py list_organizations  # 获取 org_id
2. python scripts/codeup.py list_members --org_id $ORG_ID  # 列出成员
3. 分析返回结果并展示
当用户需要与云效交互时:
  1. 获取 org_id:先调用
    list_organizations
    获取组织列表,选择目标组织
  2. 获取 repo_id
    • 方式一:调用
      list_repositories
      列出仓库,选择目标仓库获取数字 ID
    • 方式二:从用户提供的 URL 或路径中提取
      namespace/group(可选)/repoName
      ,然后使用,
  3. 构建命令:根据需求构建相应参数
  4. 执行脚本:使用 Bash 工具运行
  5. 处理结果:解析输出,分析数据
示例工作流:
用户: "查看当前组织的成员列表"

Claude:
1. python scripts/codeup.py list_organizations  # 获取 org_id
2. python scripts/codeup.py list_members --org_id $ORG_ID  # 列出成员
3. 分析返回结果并展示

常见问题

常见问题

1. 如何获取 org_id 和 repo_id?

1. 如何获取 org_id 和 repo_id?

bash
undefined
bash
undefined

列出用户所属组织(包含 org_id)

列出用户所属组织(包含 org_id)

python scripts/codeup.py list_organizations
python scripts/codeup.py list_organizations

列出仓库(包含 repo_id)

列出仓库(包含 repo_id)

python scripts/codeup.py list_repositories --org_id 62d62893487c500c27f72e36
undefined
python scripts/codeup.py list_repositories --org_id 62d62893487c500c27f72e36
undefined

2. 权限不足怎么办?

2. 权限不足怎么办?

确保访问令牌有相应权限:
  • 仓库读取权限:查看仓库、分支、文件
  • 仓库写入权限:创建/更新/删除文件、创建分支
  • MR 管理权限:创建/更新 MR、添加评论
确保访问令牌有相应权限:
  • 仓库读取权限:查看仓库、分支、文件
  • 仓库写入权限:创建/更新/删除文件、创建分支
  • MR 管理权限:创建/更新 MR、添加评论

3. 合并请求状态值

3. 合并请求状态值

状态说明
opened
打开中
closed
已关闭
merged
已合并
状态说明
opened
打开中
closed
已关闭
merged
已合并

文件结构

文件结构

codeup/
├── SKILL.md
├── references/
│   ├── code-management.md          # 代码管理 API 参考
│   └── organization-management.md  # 组织管理 API 参考
└── scripts/
    ├── codeup.py              # 统一入口脚本(34个子命令)
    ├── codeup_client.py       # Codeup API 客户端
    └── requirements.txt       # 依赖:requests>=2.28.0
codeup/
├── SKILL.md
├── references/
│   ├── code-management.md          # 代码管理 API 参考
│   └── organization-management.md  # 组织管理 API 参考
└── scripts/
    ├── codeup.py              # 统一入口脚本(34个子命令)
    ├── codeup_client.py       # Codeup API 客户端
    └── requirements.txt       # 依赖:requests>=2.28.0