project-update-items
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseproject-update-items
project-update-items
プロジェクトアイテムのフィールド値を一括で更新します。ステータス変更、優先度変更、サイズ設定などに対応します。
批量更新GitHub Project项目项的字段值。支持状态变更、优先级变更、尺寸设置等操作。
前提条件
前提条件
- 対象の GitHub Project にアイテムが存在すること
- CLI がインストールされ、認証済みであること(
ghスコープ付き)project
- 目标GitHub Project中存在项目项
- 已安装并完成CLI认证(需带有
gh权限范围)project
フロー
流程
Step 1: 更新対象と更新内容を確認する
Step 1: 确认更新目标与更新内容
ユーザーから以下を確認:
- 対象の指定方法:
- クエリフィルタ(例: ,
status:Todo,label:bug)assignee:@me - アイテム番号の直接指定
- 全件
- クエリフィルタ(例:
- 更新するフィールド: Status, Priority, Size, またはカスタムフィールド
- 新しい値: 例: Status → "In Progress", Priority → "High"
向用户确认以下信息:
- 目标项目项的指定方式:
- 查询过滤器(示例: ,
status:Todo,label:bug)assignee:@me - 直接指定项目项编号
- 全部项目项
- 查询过滤器(示例:
- 待更新字段: Status、Priority、Size或自定义字段
- 新值: 示例: Status → "In Progress", Priority → "High"
Step 2: フィールドメタデータを取得する
Step 2: 获取字段元数据
bash
undefinedbash
undefinedプロジェクト ID を取得
获取项目ID
gh project view <number> --owner <owner> --format json -q '.id'
gh project view <number> --owner <owner> --format json -q '.id'
フィールド ID とオプション ID を取得
获取字段ID与选项ID
gh project field-list <number> --owner <owner> --format json
`jq` で対象フィールドの ID と、更新先の値に対応するオプション ID を解決する。gh project field-list <number> --owner <owner> --format json
使用`jq`解析目标字段的ID,以及与更新目标值对应的选项ID。Step 3: 対象アイテムを検索する
Step 3: 搜索目标项目项
bash
gh project item-list <number> \
--owner <owner> \
--format json \
--limit 999ユーザー指定の条件でアイテムをフィルタする。 パラメータが使える場合はそちらを優先:
--querybash
gh project item-list <number> \
--owner <owner> \
--query "status:Todo" \
--format jsonbash
gh project item-list <number> \
--owner <owner> \
--format json \
--limit 999根据用户指定的条件过滤项目项。优先使用参数:
--querybash
gh project item-list <number> \
--owner <owner> \
--query "status:Todo" \
--format jsonStep 4: ユーザーに更新内容を確認する
Step 4: 向用户确认更新内容
更新対象と変更内容を一覧表示:
以下の N 件のアイテムを更新します:
- #1: ソーシャルログイン — Status: Todo → In Progress
- #2: パスワードリセット — Status: Todo → In Progress
実行しますか?列出更新目标与变更内容:
将更新以下N个项目项:
- #1: 社交登录 — Status: Todo → In Progress
- #2: 密码重置 — Status: Todo → In Progress
是否执行?Step 5: フィールド値を一括更新する
Step 5: 批量更新字段值
各アイテムに対してフィールド値を更新:
bash
gh project item-edit \
--id <item-id> \
--field-id <field-id> \
--project-id <project-id> \
--single-select-option-id <option-id>フィールドタイプに応じて適切なフラグを使用:
- SINGLE_SELECT:
--single-select-option-id - TEXT:
--text - NUMBER:
--number - DATE: (YYYY-MM-DD 形式)
--date
对每个项目项执行字段值更新:
bash
gh project item-edit \
--id <item-id> \
--field-id <field-id> \
--project-id <project-id> \
--single-select-option-id <option-id>根据字段类型使用对应的参数:
- SINGLE_SELECT:
--single-select-option-id - TEXT:
--text - NUMBER:
--number - DATE: (格式为YYYY-MM-DD)
--date
Step 6: 更新結果を報告する
Step 6: 报告更新结果
更新されたアイテムの一覧を表示:
| # | タイトル | フィールド | 旧値 | 新値 |
|---|---|---|---|---|
| 1 | ソーシャルログイン | Status | Todo | In Progress |
| 2 | パスワードリセット | Status | Todo | In Progress |
显示已更新的项目项列表:
| # | 标题 | 字段 | 旧值 | 新值 |
|---|---|---|---|---|
| 1 | 社交登录 | Status | Todo | In Progress |
| 2 | 密码重置 | Status | Todo | In Progress |
注意事項
注意事项
- バッチ更新前に必ずユーザーの確認を得る
- オプション値がプロジェクトのフィールド定義に存在しない場合はエラーを報告する
- 複数フィールドを同時に更新する場合は、フィールドごとに を実行する
item-edit - GitHub API レート制限に注意し、大量更新時はバッチサイズを調整する
- sandbox 環境では実行できない(後述の「sandbox 環境での実行」節を参照)
- 批量更新前必须获得用户确认
- 若选项值不存在于项目字段定义中,需报错
- 同时更新多个字段时,需为每个字段单独执行
item-edit - 注意GitHub API的速率限制,大量更新时需调整批量大小
- 无法在sandbox环境中执行(请参考后文「sandbox环境执行说明」章节)
検証
验证
Step 6 完了後、以下で更新内容を確認する:
bash
gh project item-list <number> --owner <owner> --format json --limit 999対象アイテムのフィールド値が新しい値に変わっていれば完了。
完成Step 6后,通过以下命令确认更新内容:
bash
gh project item-list <number> --owner <owner> --format json --limit 999若目标项目项的字段值已更新为新值,则操作完成。
sandbox 環境での実行
sandbox环境执行说明
このスキルは sandbox 環境では実行できない。ネットワークアクセス・ファイルシステムへの書き込みが必要なため、通常の Claude Code セッションで実行すること。
本技能无法在sandbox环境中执行。由于需要网络访问与文件系统写入权限,请在常规Claude Code会话中运行。