project-create-issues
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseproject-create-issues
project-create-issues
プロジェクト内のドラフトアイテムを GitHub Issue に変換し、親子関係(sub-issues)を設定します。
将项目内的草稿项转换为GitHub Issue,并设置父子关系(sub-issues)。
前提条件
前提条件
- 対象の GitHub Project にドラフトアイテムが存在すること
- CLI がインストールされ、認証済みであること(
ghスコープ付き)project
- 目标GitHub Project中存在草稿项
- 已安装CLI并完成认证(需带有
gh权限范围)project
フロー
流程
Step 1: ドラフトアイテムを取得する
Step 1: 获取草稿项
bash
gh project item-list <number> \
--owner <owner> \
--format json \
--limit 999JSON 出力からタイプが のアイテムをフィルタする。
DraftIssuebash
gh project item-list <number> \
--owner <owner> \
--format json \
--limit 999从JSON输出中筛选类型为的项。
DraftIssueStep 2: 変換対象をユーザーに確認する
Step 2: 确认转换对象
ドラフトアイテムの一覧を表示し、変換対象を確認:
- 全件変換
- 特定のアイテムのみ選択
显示草稿项列表,确认转换对象:
- 全部转换
- 仅选择特定项
Step 3: 親 Issue を決定する
Step 3: 确定父Issue
ユーザーに以下を確認:
- 既存の親 Issue 番号を指定する
- 新規に親 Issue を作成する
- 親 Issue なし(個別 Issue のみ作成)
新規作成の場合:
bash
gh issue create \
--title "feat: プロジェクト名" \
--body "$(cat <<'EOF'向用户确认以下选项:
- 指定现有父Issue编号
- 新建父Issue
- 无父Issue(仅创建独立Issue)
新建父Issue时执行:
bash
gh issue create \
--title "feat: 项目名称" \
--body "$(cat <<'EOF'概要
概要
プロジェクトのトラッキング Issue。
项目追踪Issue。
サブタスク
子任务
(sub-issues として自動追加されます)
EOF
)"
undefined(将自动作为sub-issues添加)
EOF
)"
undefinedStep 4: ドラフトのフィールド値を保存する
Step 4: 保存草稿的字段值
変換前に各ドラフトアイテムのフィールド値を取得・保存する:
bash
gh project item-list <number> \
--owner <owner> \
--format json \
--limit 999各アイテムの Status, Priority, Size 等のフィールド値を記録しておく。
转换前获取并保存各草稿项的字段值:
bash
gh project item-list <number> \
--owner <owner> \
--format json \
--limit 999记录各项目的Status、Priority、Size等字段值。
Step 5: Issue を作成してプロジェクトに追加する
Step 5: 创建Issue并添加到项目
各ドラフトアイテムに対して:
bash
undefined针对每个草稿项执行:
bash
undefined1. Issue を作成
1. 创建Issue
gh issue create
--title "<ドラフトのタイトル>"
--body "<ドラフトの本文>"
--repo <owner>/<repo>
--title "<ドラフトのタイトル>"
--body "<ドラフトの本文>"
--repo <owner>/<repo>
gh issue create
--title "<草稿标题>"
--body "<草稿正文>"
--repo <owner>/<repo>
--title "<草稿标题>"
--body "<草稿正文>"
--repo <owner>/<repo>
2. 作成した Issue をプロジェクトに追加
2. 将创建的Issue添加到项目
gh project item-add <number>
--owner <owner>
--url <issue-url>
--format json
--owner <owner>
--url <issue-url>
--format json
gh project item-add <number>
--owner <owner>
--url <issue-url>
--format json
--owner <owner>
--url <issue-url>
--format json
3. 新しいアイテムにフィールド値をコピー
3. 复制字段值到新项目
gh project item-edit
--id <new-item-id>
--field-id <field-id>
--project-id <project-id>
--single-select-option-id <option-id>
--id <new-item-id>
--field-id <field-id>
--project-id <project-id>
--single-select-option-id <option-id>
gh project item-edit
--id <new-item-id>
--field-id <field-id>
--project-id <project-id>
--single-select-option-id <option-id>
--id <new-item-id>
--field-id <field-id>
--project-id <project-id>
--single-select-option-id <option-id>
4. 元のドラフトアイテムを削除
4. 删除原草稿项
gh project item-delete <number>
--owner <owner>
--id <draft-item-id>
--owner <owner>
--id <draft-item-id>
Issue タイトルは Conventional Commits 形式を推奨: `feat:`, `fix:`, `chore:` 等。gh project item-delete <number>
--owner <owner>
--id <draft-item-id>
--owner <owner>
--id <draft-item-id>
Issue标题推荐使用Conventional Commits格式:`feat:`, `fix:`, `chore:` 等。Step 6: Sub-issue として紐付ける
Step 6: 关联为Sub-issue
親 Issue が指定されている場合、各子 Issue を sub-issue として紐付ける:
bash
gh api \
--method POST \
repos/{owner}/{repo}/issues/{parent_number}/sub_issues \
-f sub_issue_id={child_node_id}Note:には Issue のノード ID が必要。sub_issue_idで取得する。gh issue view <number> --json id -q '.id'
若指定了父Issue,将每个子Issue关联为sub-issue:
bash
gh api \
--method POST \
repos/{owner}/{repo}/issues/{parent_number}/sub_issues \
-f sub_issue_id={child_node_id}Note:需要Issue的节点ID。可通过sub_issue_id获取。gh issue view <number> --json id -q '.id'
Step 7: 結果を報告する
Step 7: 报告结果
作成された Issue の一覧を表示:
| # | Issue | タイトル | Priority | Size | Sub-issue |
|---|---|---|---|---|---|
| 1 | #42 | feat: ソーシャルログイン | High | L | #40 の子 |
| 2 | #43 | feat: パスワードリセット | Medium | M | #40 の子 |
显示已创建的Issue列表:
| # | Issue | 标题 | Priority | Size | Sub-issue |
|---|---|---|---|---|---|
| 1 | #42 | feat: 社交登录 | High | L | #40 的子项 |
| 2 | #43 | feat: 密码重置 | Medium | M | #40 的子项 |
注意事項
注意事项
- Issue タイトルは Conventional Commits 形式を推奨
- ドラフト→Issue 変換時にフィールド値が失われるため、Step 4 で事前に保存しておく
- ラベル・アサイニー・マイルストーンが必要な場合はユーザーに確認する
- 大量のドラフト変換時は GitHub API レート制限に注意する
- sandbox 環境での 併用:詳細は後述の「sandbox 環境での実行」節を参照
GIT_SSL_NO_VERIFY=1
- Issue标题推荐使用Conventional Commits格式
- 由于草稿转Issue时字段值会丢失,需在Step 4中提前保存
- 若需要标签、经办人、里程碑,请向用户确认
- 批量转换草稿时需注意GitHub API速率限制
- sandbox 环境下需配合:详情请参考后文的「sandbox 环境下执行」章节
GIT_SSL_NO_VERIFY=1
sandbox 環境での実行
sandbox 环境下执行
sandbox で本スキルを実行する場合、ネットワーク越しの GitHub 操作には の併用を検討してください。本スキルの主なリモート操作は / で、「リモート書き込み」判定は 要(本スキルは主に API 経由) です。コマンド分類の詳細と TLS 検証無効化の注意事項は を参照してください。
GIT_SSL_NO_VERIFY=1gh issue creategh project item-adddocs/sandbox-tls.md在sandbox环境中执行本技能时,针对跨网络的GitHub操作建议配合使用。本技能的主要远程操作为 / ,「远程写入」判定为需要(本技能主要通过API实现)。命令分类详情及TLS验证禁用的注意事项请参考。
GIT_SSL_NO_VERIFY=1gh issue creategh project item-adddocs/sandbox-tls.md