codeup について
Alibaba Cloud Codeupの利用者向けに、組織、メンバー、リポジトリ関連のAPIを単一のPythonスクリプトから操作するスキルです。コマンド結果はJSON形式で、リポジトリは数値IDまたはエンコード済みパスで指定できます。
主な機能
- 01Pythonコマンドの共通エントリーポイント
- 02組織、部門、メンバーの照会
- 03リポジトリ、ブランチ、ファイルの管理
- 04マージリクエストの作成と管理
- 05JSON形式の結果出力
- 06数値IDとエンコード済みパスに対応
活用シーン
- 01組織のメンバーや部門を確認
- 02リポジトリのファイルやブランチを読み書き
- 03コード差分を比較しマージリクエストを管理
- 04CodeupのリポジトリURLからパスを取り出して操作
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ abcfed/ claude-marketplace --skill codeupインストール後、Claude Code で/codeupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/code-management.mdorganization-management.mdscripts/codeup_client.pycodeup.pyrequirements.txttest_codeup.py詳細
Codeup スキル
本スキルは、云効(Codeup)プラットフォームと対話するための Python スクリプトツールを提供し、すべて codeup.py を通じて呼び出します。
環境設定
使用前に以下の環境変数を設定する必要があります:
export YUNXIAO_ACCESS_TOKEN="你的个人访问令牌"
アクセストークンの取得:
- Alibaba Cloud コンソールにログイン
- 云効(Codeup)に移動
- 設定 -> アクセストークン管理 -> 個人アクセストークンを作成
使用方法
python scripts/codeup.py <command> [参数]
すべてのコマンドはデフォルトで JSON 形式の結果を出力します。
コマンド一覧
ユーザーと組織
| コマンド | 説明 |
|---|---|
get_current_user | 現在のユーザー情報を取得 |
list_organizations | ユーザーが所属する組織を一覧表示(org_id を取得) |
部門とメンバー
| コマンド | 説明 |
|---|---|
list_departments | 部門を一覧表示 |
get_department | 部門の詳細を取得 |
list_members | 組織メンバーを一覧表示 |
get_organization_member | メンバーの詳細を取得 |
search_members | メンバーを検索 |
list_roles | ロールを一覧表示 |
リポジトリ操作
| コマンド | 説明 |
|---|---|
get_repository | リポジトリの詳細を取得 |
list_repositories | リポジトリを一覧表示 |
repo_id パラメータの形式(共通)
repo_id パラメータをサポートするすべてのコマンドは、2 つの形式をサポートしています:
| 形式 | 例 | 説明 |
|---|---|---|
| 数値 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
使用例:
# 方式1: 使用数字 ID
python scripts/codeup.py get_repository --org_id 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 は以下を実行できます:
- パスを抽出:
abcyun/abc-fed-common/abc-nestjs-lib /を%2Fに URL エンコード:abcyun%2Fabc-fed-common%2Fabc-nestjs-lib- 先に repo_id を照会することなく、任意のコマンドを直接呼び出す
ブランチ操作
| コマンド | 説明 |
|---|---|
get_branch | ブランチの詳細を取得 |
create_branch | ブランチを作成 |
delete_branch | ブランチを削除 |
list_branches | ブランチを一覧表示 |
ファイル操作
| コマンド | 説明 |
|---|---|
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 パッチセットを一覧表示 |
使用例
組織情報の照会
# 获取当前用户
python scripts/codeup.py get_current_user
# 列出用户所属组织(获取 org_id)
python scripts/codeup.py list_organizations
組織メンバー管理
# 列出部门
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 list_members --org_id 62d62893487c500c27f72e36
# 获取成员详情
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 list_roles --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 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 delete_branch \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--branch_name feature/old-feature
ファイル操作
# 获取文件内容
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 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 compare \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--from feature/new-feature \
--to master
マージリクエスト管理
# 列出 MR
python scripts/codeup.py list_merge_requests \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285
# 列出打开的 MR
python scripts/codeup.py list_merge_requests \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--state opened
# 获取 MR 详情
python scripts/codeup.py get_change_request \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584
# 创建 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 "实现用户登录功能"
# 关闭 MR
python scripts/codeup.py close_merge_request \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584
# 添加 MR 评论
python scripts/codeup.py create_merge_request_comment \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584 \
--content "代码审查通过"
# 列出 MR 评论
python scripts/codeup.py list_merge_request_comments \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584
# 列出 MR 补丁集(提交)
python scripts/codeup.py list_merge_request_patch_sets \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584
# 合并 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
# 重新打开已关闭的 MR
python scripts/codeup.py reopen_change_request \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584
# 审查 MR(批准)
python scripts/codeup.py review_change_request \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584 \
--review_opinion PASS \
--review_comment "代码审查通过"
# 审查 MR(拒绝)
python scripts/codeup.py review_change_request \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584 \
--review_opinion NOT_PASS \
--review_comment "需要修复单元测试"
# 更新 MR 标题
python scripts/codeup.py update_change_request \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584 \
--title "新的 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
# 删除 MR 评论
python scripts/codeup.py delete_change_request_comment \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584 \
--comment_biz_id 682d5c6d8a3b400a8c4b1234
# 更新 MR 评论
python scripts/codeup.py update_change_request_comment \
--org_id 62d62893487c500c27f72e36 \
--repo_id 5822285 \
--local_id 584 \
--comment_biz_id 682d5c6d8a3b400a8c4b1234 \
--content "更新后的评论内容"
よく使うコマンド早見表
# 组织成员
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 get_file --org_id 62d62893487c500c27f72e36 --repo_id 5822285 --file_path README.md
# 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
Claude での使用方法
ユーザーが云効と対話する必要がある場合:
- org_id を取得:まず
list_organizationsを呼び出して組織一覧を取得し、対象の組織を選択します - repo_id を取得:
- 方法 1:
list_repositoriesを呼び出してリポジトリを一覧表示し、対象のリポジトリを選択して数値 ID を取得します - 方法 2:ユーザーが提供した URL またはパスから
namespace/group(任意)/repoNameを抽出し、それを使用します。
- 方法 1:
- コマンドを構築:要件に応じて対応するパラメータを構築します
- スクリプトを実行:Bash ツールを使用して実行します
- 結果を処理:出力を解析し、データを分析します
ワークフロー例:
用户: "查看当前组织的成员列表"
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 を取得するには?
# 列出用户所属组织(包含 org_id)
python scripts/codeup.py list_organizations
# 列出仓库(包含 repo_id)
python scripts/codeup.py list_repositories --org_id 62d62893487c500c27f72e36
2. 権限が不足している場合はどうすればよいですか?
アクセストークンに適切な権限があることを確認してください:
- リポジトリ読み取り権限:リポジトリ、ブランチ、ファイルの閲覧
- リポジトリ書き込み権限:ファイルの作成/更新/削除、ブランチの作成
- MR 管理権限:MR の作成/更新、コメントの追加
3. マージリクエストのステータス値
| ステータス | 説明 |
|---|---|
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
コメント
Markdown 対応