GitHub CLI v2.94.0⁠Discussions用コマンドを追加⁠Issueの分類⁠構造管理にも対応

DiscussionsをCLIから閲覧⁠作成可能に

GitHubは2026年6月10日、GitHub CLIでGitHub Discussionsを扱うための新しいコマンド、gh discussionを追加した。GitHub CLI v2.94.0へ更新すると、Discussionsが有効なリポジトリで、ディスカッションの一覧表示、閲覧、作成、編集、コメント投稿をコマンドラインから実行できる。

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.94.0のリリースノートの実行例に補足を付けると、次のようになる。

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_EDITORGIT_EDITORVISUALEDITORの順で設定が参照される。対話型の入力を使わずにコメントしたい場合は、--bodyまたは-bで本文を直接指定できる。ファイルから本文を読み込む場合は、--body-fileも使える。

gh discussion comment 123 --body '👋 Hi!'

既存のコメントや返信を編集する場合は、コメントURLまたはコメントID(node ID)を指定し、--edit--bodyを組み合わせる。削除には--deleteを使う。詳しくはgh discussion comment --helpを参照のこと。

なお、同リリースノートでは、discussionコマンドはプレビュー扱いであり、予告なく変更される可能性があると説明している。

Issueの種類⁠親子関係⁠依存関係もCLIで管理可能に

同じくGitHub CLI v2.94.0では、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 viewgh issue listでは、親Issue、サブIssue、Issue type、依存関係のデータをJSONフィールドとして取得できるようになった。これにより、Issueの構造を自動化処理で読み取り、後続の処理に反映しやすくなる。

ただし、利用できる範囲には条件がある。親子関係や依存関係の操作は、これらの機能に対応しているリポジトリで利用できる。Issue typesはOrganizationレベルで定義するため、種類の指定はそのOrganization内のIssueで利用できる。

おすすめ記事

記事・ニュース一覧