昨年2月にベータ版でリリースされたGitHub CLIがバージョン1.0になった。GitHubによると、問題 (issues) からレビュー、リリースまでのワークフロー全体にGitHub CLIを使用できる。さらに、GitHub APIをスクリプト化して、使用可能なアクションを自動化できる。
GitHub CLIの一般的なワークフローは、gh issue list
または gh issue list --assignee <name>
を実行して、未解決の問題を一覧表示することから始まる。gh issue
コマンドは、その出力をフィルタリングするためのいくつかのオプションを提供する。たとえば、gh issues list --label "critical"
を使用して critical
の問題のみを表示したり、gh pr list --state closed
を使用して closed
の問題を表示したりできる。
問題の修正が完了したら、gh pr create
を使用してプルリクエストを作成できる。これにより、必要なすべての情報を提供するように求められる。
プルリクエストを承認するために、共同作業者は gh pr checkout <#PR>
を実行し、gh pr diff
を使用して差分を表示し、gh pr review
を使用してレビューを提供できる。実際、この初期の段階では、PRをレビューするためのGitHub CLIサポートはごくわずかである。具体的には、コメントをインラインで書き込むことはできないが、この機能は、GitHub CLIロードマップ上にあり、問題を編集したり、リクエストをプルしたりすることができる。
コマンド gh pr checks
は、すべてのテストを実行して、PRを承認する前にそれらがパスすることを確認する。これは gh pr review --approve
で実行できる。このステップの後、PRは gh pr merge
でマージできる。
最後に、すべてが期待どおりに機能していることを確認したら、gh release create <tag>
を使用して新しいリリースを作成できる。gh release
には、CI/CDワークフローとの統合を可能にする多くのオプションが含まれている。たとえば、リリースノートを追加したり、リリースをプレリリースとしてマークしたり、アセットをリリースにダウンロードまたはアップロードすることなどができる。
GitHub CLIでは、次を使用して新しい問題を作成することもできる
gh issue create -t "Pull request title" -b "Pull request body"
.
GitHub CLIのその他の便利な機能では、gh gist
を使用して、パブリックとプライベートの両方でGistを作成、編集、一覧表示、および表示できる。
前述のように、GitHub CLIは gh api
コマンドを使用してGitHub APIにアクセスできる。これにより、すべてのGitHub API v3を使用して必要なカスタムワークフローをスクリプト化できる。たとえば、実行中のリポジトリのタグを一覧表示できる:
gh api repos/account/repo/tags
前述のように、GitHubはGitHub CLIに新機能を追加する作業を行っている。このプロセスでは、GitHubコミュニティが重要な役割を果たすことができる。同社によると、バージョン1.0には100以上のコミュニティの貢献が含まれており、多くの新機能はベータプロセス中のコミュニティのフィードバックに基づいていたという。
GitHub CLIは、Linux、macOS、およびWindowsで使用できる。