project-create-issues

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

project-create-issues

project-create-issues

プロジェクト内のドラフトアイテムを GitHub Issue に変換し、親子関係(sub-issues)を設定します。
将项目内的草稿项转换为GitHub Issue,并设置父子关系(sub-issues)。

前提条件

前提条件

  • 対象の GitHub Project にドラフトアイテムが存在すること
  • gh
    CLI がインストールされ、認証済みであること(
    project
    スコープ付き)
  • 目标GitHub Project中存在草稿项
  • 已安装
    gh
    CLI并完成认证(需带有
    project
    权限范围)

フロー

流程

Step 1: ドラフトアイテムを取得する

Step 1: 获取草稿项

bash
gh project item-list <number> \
  --owner <owner> \
  --format json \
  --limit 999
JSON 出力からタイプが
DraftIssue
のアイテムをフィルタする。
bash
gh project item-list <number> \
  --owner <owner> \
  --format json \
  --limit 999
从JSON输出中筛选类型为
DraftIssue
的项。

Step 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 )"
undefined

Step 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
undefined

1. Issue を作成

1. 创建Issue

gh issue create
--title "<ドラフトのタイトル>"
--body "<ドラフトの本文>"
--repo <owner>/<repo>
gh issue create
--title "<草稿标题>"
--body "<草稿正文>"
--repo <owner>/<repo>

2. 作成した Issue をプロジェクトに追加

2. 将创建的Issue添加到项目

gh project item-add <number>
--owner <owner>
--url <issue-url>
--format json
gh project item-add <number>
--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>
gh project item-edit
--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>

Issue タイトルは Conventional Commits 形式を推奨: `feat:`, `fix:`, `chore:` 等。
gh project item-delete <number>
--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:
sub_issue_id
には 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:
sub_issue_id
需要Issue的节点ID。可通过
gh issue view <number> --json id -q '.id'
获取。

Step 7: 結果を報告する

Step 7: 报告结果

作成された Issue の一覧を表示:
#IssueタイトルPrioritySizeSub-issue
1#42feat: ソーシャルログインHighL#40 の子
2#43feat: パスワードリセットMediumM#40 の子
显示已创建的Issue列表:
#Issue标题PrioritySizeSub-issue
1#42feat: 社交登录HighL#40 的子项
2#43feat: 密码重置MediumM#40 的子项

注意事項

注意事项

  • Issue タイトルは Conventional Commits 形式を推奨
  • ドラフト→Issue 変換時にフィールド値が失われるため、Step 4 で事前に保存しておく
  • ラベル・アサイニー・マイルストーンが必要な場合はユーザーに確認する
  • 大量のドラフト変換時は GitHub API レート制限に注意する
  • sandbox 環境での
    GIT_SSL_NO_VERIFY=1
    併用
    :詳細は後述の「sandbox 環境での実行」節を参照
  • Issue标题推荐使用Conventional Commits格式
  • 由于草稿转Issue时字段值会丢失,需在Step 4中提前保存
  • 若需要标签、经办人、里程碑,请向用户确认
  • 批量转换草稿时需注意GitHub API速率限制
  • sandbox 环境下需配合
    GIT_SSL_NO_VERIFY=1
    :详情请参考后文的「sandbox 环境下执行」章节

sandbox 環境での実行

sandbox 环境下执行

sandbox で本スキルを実行する場合、ネットワーク越しの GitHub 操作には
GIT_SSL_NO_VERIFY=1
の併用を検討してください。本スキルの主なリモート操作は
gh issue create
/
gh project item-add
で、「リモート書き込み」判定は 要(本スキルは主に API 経由) です。コマンド分類の詳細と TLS 検証無効化の注意事項は
docs/sandbox-tls.md
を参照してください。
在sandbox环境中执行本技能时,针对跨网络的GitHub操作建议配合使用
GIT_SSL_NO_VERIFY=1
。本技能的主要远程操作为
gh issue create
/
gh project item-add
,「远程写入」判定为需要(本技能主要通过API实现)。命令分类详情及TLS验证禁用的注意事项请参考
docs/sandbox-tls.md