DiscussionsをCLIから閲覧・作成可能に
GitHubは2026年6月10日、GitHub CLIでGitHub Discussionsを扱うための新しいコマンド、gh discussionを追加した。GitHub CLI v2.
GitHub Discussionsは、プロジェクトのコミュニティが質問や情報共有、告知、意思決定に関する会話を行うためのフォーラム機能。GitHub CLIからDiscussionsを操作するには、これまでgh apiでGitHub APIを直接呼び出して対応する必要があった。今回の更新により、専用コマンドで扱えるようになった。
gh discussionには、最近のディスカッションを確認するgh discussion list、ディスカッションとコメントをターミナル上で読むgh discussion view、新しいディスカッションを開始するgh discussion create、既存のディスカッションを更新するgh discussion edit、ディスカッションにコメントするgh discussion commentが含まれる。
GitHub CLI v2.
gh discussion list # ディスカッションを一覧表示する
gh discussion view 123 --comments # 123番のディスカッションをコメント付きで表示する
gh discussion create # 新しいディスカッションを作成する
gh discussion edit 123 # 123番のディスカッションを編集する
gh discussion comment 123 # 123番のディスカッションにコメントする
gh discussion comment <url> # コメントのURLを指定して返信する
詳細はgh discussion --helpから確認できる。コメント投稿については、本文の渡し方も選べる。
gh discussion commentで本文を指定しない場合は対話型の入力になり、必要に応じて本文入力用のエディタを起動できる。GitHub CLIでは、本文入力用のエディタとしてGH_、GIT_、VISUAL、EDITORの順で設定が参照される。対話型の入力を使わずにコメントしたい場合は、--bodyまたは-bで本文を直接指定できる。ファイルから本文を読み込む場合は、--body-fileも使える。
gh discussion comment 123 --body '👋 Hi!'
既存のコメントや返信を編集する場合は、コメントURLまたはコメントID--editと--bodyを組み合わせる。削除には--deleteを使う。詳しくはgh discussion comment --helpを参照のこと。
なお、同リリースノートでは、discussionコマンドはプレビュー扱いであり、予告なく変更される可能性があると説明している。
Issueの種類、親子関係、依存関係もCLIで管理可能に
同じくGitHub CLI v2.gh issueでもIssue types、親子関係、依存関係を扱えるようになった。GitHubによると、Issueの構造化や作業の追跡を、ブラウザに切り替えたりgh apiスクリプトを書いたりせずにターミナルから実行できる。
Issue typesについては、Issueの作成時や編集時に種類を設定でき、gh issue listで種類による絞り込みもできる。サブIssueについては、--parent、--set-parent、--remove-parentを使って親Issueとの関係を指定、変更、削除できる。
依存関係については、新しい--blocked-byと--blockingフラグにより、ほかのIssueにブロックされている関係や、ほかのIssueをブロックしている関係を設定できる。関係の追加・--add-*、--remove-*系の指定も用意されている。
リリースノートの実行例に補足を付けると、次のようになる。
gh issue create --type Bug # 種類をBugにしてIssueを作成する
gh issue edit 123 --type Bug # 123番のIssueの種類をBugに変更する
gh issue create --parent 100 # 100番のIssueを親としてIssueを作成する
gh issue edit 100 --add-sub-issue 123 # 100番のIssueに123番のIssueをサブIssueとして追加する
gh issue create --blocked-by 200 # 200番のIssueにブロックされるIssueを作成する
gh issue edit 123 --add-blocking 300 # 123番のIssueが300番のIssueをブロックする関係を追加する
また、gh issue viewとgh issue listでは、親Issue、サブIssue、Issue type、依存関係のデータをJSONフィールドとして取得できるようになった。これにより、Issueの構造を自動化処理で読み取り、後続の処理に反映しやすくなる。
ただし、利用できる範囲には条件がある。親子関係や依存関係の操作は、これらの機能に対応しているリポジトリで利用できる。Issue typesはOrganizationレベルで定義するため、種類の指定はそのOrganization内のIssueで利用できる。