GitHub CLI 2.94.0でgh issueコマンドからIssue typeやsub-issues,依存関係などが扱えるようになりました
どうも!オペ部の西村祐二です!
GitHub CLI 2.94.0 が 2026-06-10 にリリースされ、gh issue で Issue types、sub-issues、依存関係を扱えるようになりました。
これまでGitHubの画面上では設定できても、CLIから扱うには gh api やGraphQLを直接使う必要があった領域です。v2.94.0では、gh issue create / edit / list / view の通常コマンドに入ってきました。
この記事では、 gh issue 周りを確認し、どのような場面で活用できそうかを整理します。
何が変わったか
GitHub CLI 2.94.0では、gh issue に次のような構造化Issue管理の機能が追加されています。
| 対象 | できるようになったこと |
|---|---|
| Issue types | Issue作成・編集時にtypeを指定できる |
| sub-issues | parent issueやsub-issueをCLIから扱える |
| dependencies | blocked-by / blocking の依存関係をCLIから扱える |
| list / view | typeによる絞り込みや、親子関係・依存関係のJSON取得ができる |
GitHub公式Changelogでは、coding agentsが gh を通じてGitHubを操作する文脈にも触れられています。人間がターミナルで使うだけでなく、CIやエージェントにIssue構造を読ませる用途でも意味があるアップデートです。
影響を受けるケース
- Issue typesを使って、Bug / Feature / Taskなどを分類している
- 親Issueとsub-issuesで大きな作業を分解している
- blocking / blocked-byで作業の依存関係を表している
- Issue作成やtriageをCLIやスクリプトに寄せたい
- AIエージェントにIssue構造を読ませて、次の作業を判断させたい
逆に、Issue typesやsub-issuesを使っていない個人リポジトリでは、すぐに日常操作が変わるわけではなさそうです。v2.94.0は、GitHubの新しいIssue管理機能をチーム運用や自動化に載せやすくするアップデートとして見ると分かりやすいです。
試してみる
環境
- macOS
- GitHub CLI 2.94.0
createでtype・parent・依存関係を付ける
gh issue create --help を見ると、次のフラグが追加されていました。
--blocked-by numbers Mark the new issue as blocked by these issue numbers or URLs
--blocking numbers Mark the new issue as blocking these issue numbers or URLs
--parent number Add the new issue as a sub-issue of the specified parent number or URL
--type name Set the issue type by name
リリースノートの例では、次のようにIssue作成時にtypeや親子関係、依存関係を指定できます。
gh issue create --type Bug
gh issue create --parent 100
gh issue create --blocked-by 200
たとえばバグ報告用テンプレートや社内ツールから gh issue create --type Bug を呼び、作成時点で分類済みにできます。
sub-issueも同じです。大きな作業をparent issueとして作り、細かい作業をCLIからぶら下げる運用にできます。
editで既存Issueの構造を直す
既存Issueを編集する gh issue edit 側にも、対応する追加・削除フラグがあります。
--add-sub-issue number
--remove-sub-issue number
--parent number
--remove-parent
--add-blocked-by number
--remove-blocked-by number
--add-blocking number
--remove-blocking number
--type name
--remove-type
ブラウザでIssueを開いて親子関係や依存関係を設定していたところを、CLIから扱えるようになった形です。
たとえば、あとから「このIssueは親タスクの一部だった」と分かった場合に、次のように直せます。
gh issue edit 123 --parent 100
依存関係も同じです。
gh issue edit 123 --add-blocked-by 200
記事では実データを変更しないためhelp確認に留めていますが、コマンド体系としては作成時・編集時の両方に入っています。
list / viewのJSONにも構造が出る
読み取り側も変わっています。gh issue list --help では、--type フィルタと新しいJSONフィールドを確認できました。
--type name Filter by issue type name
JSON FIELDS
assignees, author, blockedBy, blocking, body, closed, closedAt,
closedByPullRequestsReferences, comments, createdAt, id, isPinned, issueType,
labels, milestone, number, parent, projectCards, projectItems, reactionGroups,
state, stateReason, subIssues, subIssuesSummary, title, updatedAt, url
公開リポジトリ cli/cli で、いくつかのフィールドをJSONで読んでみます。
gh issue list \
--repo cli/cli \
--limit 1 \
--json number,title,issueType,parent,subIssuesSummary,blockedBy,blocking \
--jq '.[0]'
実行結果の例です。
{
"blockedBy": {
"nodes": [],
"totalCount": 0
},
"blocking": {
"nodes": [],
"totalCount": 0
},
"issueType": null,
"number": 13680,
"parent": null,
"subIssuesSummary": {
"completed": 0,
"percentCompleted": 0,
"total": 0
},
"title": "gh pr checks: blank summary when all checks were cancelled"
}
対象Issueにtypeや親子関係がない場合は issueType や parent が null、subIssuesSummary が0になりますが、JSONフィールドとして読めるようになったのが大きいです。Issue構造をCIで検査したり、エージェントに「このIssueは何にblockされているか」を読ませたりする用途に使えそうです。
実務でどう扱うか
GitHub CLI 2.94.0の gh issue 更新は、list / view でIssueの構造を読めるようになったことで、次のような運用がしやすくなります。
親子関係をレポートに使う
parent、subIssues、subIssuesSummary がJSONで読めるので、親Issueの進捗を定期レポートに入れるような使い方ができます。
たとえば、週次で「親Issueごとのsub-issues残数」を出す、リリース前に未完了のsub-issuesを確認する、といった運用です。
blocking関係を自動チェックする
Issueが完了扱いになっているのに、依存先がまだ開いている。あるいは、作業開始前にblocked-byが残っている。そういう状態をCIや定期ジョブで検出しやすくなります。
注意点
今回確認した範囲での注意点です。
- Issue typesはorganization側で設定されている必要がある
- Issue types / sub-issuesは GitHub.com と GHES 3.17+ が対象
- relationshipsは GitHub.com と GHES 3.19+ が対象
- create / edit系は実データを変更するため、この記事ではhelp確認に留めた
- 公開リポジトリでJSON取得したIssueにtypeや親子関係がない場合、該当フィールドは
nullや空になる
まとめ
GitHub CLI 2.94.0で、Issue types、sub-issues、dependenciesが gh issue の通常コマンドから扱えるようになりました。
sub-issuesの作成・編集だけでなく、list / view のJSONにも親子関係や依存関係が出るところです。GitHub上のIssue構造を、人間だけでなくCIやエージェントが読みやすくなります。
すでにIssue typesやsub-issuesを使っているチームなら、GitHub CLI 2.94.0以降へ上げる価値はありそうです。
誰かの参考になれば幸いです。
参考リンク:




