GitLab CLI について
glab は GitLab 公式のコマンドラインツールです。マージリクエスト、イシュー、CI/CD パイプライン、リリースを終端から直接管理でき、GitLab.com とセルフホスト可能なインスタンスの両方に対応しています。
主な機能
- 01マージリクエストの作成と管理
- 02CI/CD パイプラインの表示と操作
- 03GitLab API とセルフホスト環境へのアクセス
活用シーン
- 01コマンドラインからマージリクエストを素早く作成・レビューする
- 02CI/CD パイプラインのステータスとログを監視する
- 03GitLab ワークフローをスクリプトやエージェントループに統合する
インストール
OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。
インストール後にglab --versionを実行して確認します。
コマンド例
よく使うコマンドを使う順に並べています。
詳細
GLab

GLab はオープンソースの GitLab CLI ツールです。ウィンドウやブラウザーのタブを切り替えることなく、git やコードを扱っている作業場所で、GitLab をターミナルから利用できます。イシューやマージリクエストに便利なだけでなく、glab ではさらに多くのことができます。
- CI/CD パイプラインを CLI から直接表示、管理、再試行できます。
- 変更履歴を作成できます。
- リリースを作成、管理できます。
- GitLab Duo Chat (Classic) に Git について質問できます。
- Kubernetes の GitLab エージェントを管理できます。
glab は、GitLab.com、GitLab Dedicated、GitLab Self-Managed でホストされているリポジトリで利用できます。認証済みの複数の GitLab インスタンスに対応しており、作業中の Git ディレクトリで利用できるリモートから、認証済みのホスト名を自動的に検出します。

目次
要件
glab は GitLab バージョン 16.0 以降を公式にサポートしています。一部のコマンドには、より新しいバージョンが必要な場合があります。GitLab バージョン 15.x 以前でも多くのコマンドが正常に動作する可能性がありますが、これらのバージョンはサポート対象外です。
使い方
glab を使い始めるには、次の手順に従います。
準備完了です!
コマンド
glab --help を実行すると、主要なコマンドの一覧をターミナルで確認できます。
glab alias:エイリアスを作成、一覧表示、削除します。glab api:認証済みリクエストを GitLab API に送信します。glab artifact-registry:GitLab Artifact Registry で認証します。(実験的)glab attestation:ソフトウェアの証明を管理します。(実験的)glab auth:glab の認証を管理します。glab changelog:プロジェクトのコミット履歴から変更履歴を生成します。glab check-update:glab の最新バージョンを確認します。glab ci:GitLab CI/CD のパイプラインとジョブを操作します。glab cluster:Kubernetes 用 GitLab Agent とそのクラスターを管理します。glab completion:シェル補完スクリプトを生成します。glab config:glab の設定を管理します。glab container-registry:GitLab コンテナーレジストリを操作します。glab dependency-firewall:ローカルのパッケージマネージャー向けに GitLab Dependency Firewall を設定、監視します。(実験的)glab deploy-key:デプロイキーを管理します。glab deploy-token:デプロイトークンを管理します。glab duo:GitLab Duo を操作します。glab govern:AI ガバナンスを管理します。(実験的)glab gpg-key:GitLab アカウントに登録されている GPG キーを管理します。glab incident:GitLab のインシデントを操作します。glab issue:GitLab のイシューを操作します。glab iteration:イテレーション情報を取得します。glab job:GitLab CI/CD のジョブを操作します。glab label:プロジェクトとグループのラベルを管理します。glab milestone:グループまたはプロジェクトのマイルストーンを管理します。glab mr:マージリクエストを作成、表示、管理します。glab opentofu:OpenTofu または Terraform のインテグレーションを操作します。glab orbit:GitLab Orbit のコンテキストグラフを検索します。(実験的)glab packages:GitLab パッケージレジストリのパッケージを管理します。glab release:GitLab のリリースを管理します。glab repo:GitLab のリポジトリとプロジェクトを操作します。glab runner:GitLab CI/CD のランナーを管理します。glab runner-controller:ランナーコントローラーを管理します。(実験的)glab schedule:GitLab CI/CD のスケジュールを操作します。glab search:GitLab プロジェクト内のコードとリソースを検索します。(ベータ)glab securefile:プロジェクトのセキュアファイルを管理します。glab security:プロジェクトの GitLab セキュリティスキャンプロファイルを管理します。(実験的)glab skills:glab エージェントスキルを管理します。(実験的)glab snippet:スニペットを作成します。glab ssh-key:GitLab アカウントに登録されている SSH キーを管理します。glab stack:スタック型差分を作成、管理、操作します。(実験的)glab todo:To-Do リストを管理します。glab token:個人、プロジェクト、またはグループのトークンを管理します。glab user:GitLab ユーザーアカウントを操作します。glab variable:GitLab プロジェクトまたはグループの変数を管理します。glab version:glab のバージョン情報を表示します。glab whatsnew:glab の新しいバージョンのリリースノートを表示します。glab work-items:作業項目を管理します。(実験的)
コマンドは次の形式に従います。
glab <command> <subcommand> [flags]
多くの主要コマンドにはサブコマンドもあります。例をいくつか示します。
- 自分に割り当てられたマージリクエストを一覧表示する:
glab mr list --assignee=@me - 自分へのレビュー依頼を一覧表示する:
glab mr list --reviewer=@me - マージリクエストを承認する:
glab mr approve 235 - イシューを作成し、マイルストーン、タイトル、ラベルを追加する:
glab issue create -m release-2.0.0 -t "My title here" --label important
GitLab Duo for the CLI
GitLab CLI には、GitLab Duo Agent Platform をターミナルから直接使用する機能も含まれています。
glab duo cli を使うと、コードベースについて GitLab Duo に質問し、代わりに操作を自律的に実行させることができます。
詳しくは、GitLab Duo CLI をご覧ください。
デモ
ドキュメント
使い方についてはドキュメントをご覧いただくか、glab help をご確認ください。
インストール
お使いの OS に適したバイナリをリリースページからダウンロードしてください。 その他のインストール方法は、オペレーティングシステムによって異なります。
Homebrew
Homebrew は、macOS、Linux、Windows(Windows Subsystem for Linux 経由)で公式にサポートされているパッケージマネージャーです。
- Homebrew
- インストール:
brew install glab - 更新:
brew upgrade glab
- インストール:
その他のインストール方法
GitLab CLI をインストールするその他の方法(公式にはサポートされていない場合や、コミュニティによってメンテナンスされている場合があります)も利用できます。
ソースからのビルド
お使いの OS に対応したバイナリがリリースページに見つからない場合は、ソースからビルドできます。
ソースからビルドするための前提条件
makemain/go.modで指定されたバージョンの Go
ソースからビルドするには:
go versionを実行し、必要な最小バージョンの Go がインストールされていることを確認します。 Go がインストールされていない場合は、ダウンロードとインストールをご覧ください。- リポジトリをクローンします:
git clone https://gitlab.com/gitlab-org/cli.git - バイナリをビルドします:
make build $GOPATH/binにglabをインストールします:make install- 任意。
$GOPATH/binまたは$GOBINが$PATHに含まれていない場合は、export PATH=$PWD/bin:$PATHを実行します。 - インストールを確認します:
glab version
認証
OAuth、パーソナルアクセストークン、または CI ジョブトークンで glab を認証する方法については、
GitLab で認証するをご覧ください。
設定
設定のレベル、設定の検索順序、プラットフォームごとのファイルの場所については、 CLI を設定するをご覧ください。
GitLab Self-Managed または GitLab Dedicated インスタンスへの接続、mTLS、自己署名証明書については、 GitLab インスタンスに接続するをご覧ください。
カスタム HTTP ヘッダーや Google Identity-Aware Proxy を含む認証プロキシについては、プロキシ経由で接続するをご覧ください。
環境変数
glab は設定ファイルに加え、環境変数からも設定を読み込みます。各設定キーには対応する変数があり、変数の値は保存済みの値より優先されます。組織内の全員に同じ設定を適用するには、環境変数を一元的に設定する方法が便利です。
全項目については、
環境変数をご覧ください。
glab が使用するトークンの選択方法については、
トークンの優先順位をご覧ください。
デバッグ
GLAB_DEBUG 環境変数を true に設定すると、glab は次のような詳細なログ情報を出力します。
- 内部で実行される Git コマンド。
- 展開されたエイリアス。
- DNS エラーの詳細。
トラブルシューティング
認証に関する一般的な問題については、GitLab CLI のドキュメントにある トラブルシューティングをご覧ください。
イシュー
問題がある場合は、イシュートラッカーで報告してください。
セキュリティ
glab のセキュリティ脆弱性を報告するには、
セキュリティポリシーに記載されている手順に従ってください。公開イシューは作成しないでください。
依存関係の更新やコンテナスキャナーによる CVE レポートをプロジェクトがどのように扱うかについては、
CONTRIBUTING.md の依存関係の管理
および脆弱性の報告をご覧ください。
コントリビューション
コントリビューションに興味がありますか?すばらしいことです!参考になる コントリビューションガイドと行動規範をご用意しています。
コマンドのヘルプテキストやドキュメントを更新する際は、 GitLab CLI ドキュメントスタイルガイドに従ってください。
バージョニング
このプロジェクトは、SemVer 仕様に従っています。
バージョン変更の分類
- コマンドの削除、動作の変更、または新しい必須フラグの追加を行う場合、リリースでは新しい
MAJORリビジョンを使用する必要があります。 - 新しいコマンドまたは任意のフラグを追加する場合、リリースでは新しい
MINORリビジョンを使用する必要があります。 - バグを修正する場合、リリースでは新しい
PATCHリビジョンを使用する必要があります。
互換性
破壊的変更は、新しい MAJOR バージョンのリリース時にのみ導入するよう最善を尽くしています。
残念ながら、それが不可能な状況もあり、MINOR または PATCH バージョンで
破壊的変更を導入することがあります。たとえば、次のような場合です。
- セキュリティ上の問題が発見され、その解決に破壊的変更が必要な場合、 問題を解決し、ユーザーを保護するために、そのような変更を導入することがあります。
- 機能が意図したとおりに動作せず、バグ修正に破壊的変更が必要な場合、 機能を意図したとおりに動作させるため、バグ修正を導入することがあります。
- 動作の仕様が曖昧であるために、機能の動作が非常に分かりにくくなっている場合。 そのようなときは、曖昧さをなくすために仕様を明確化し、 明確化した仕様に沿う破壊的変更を導入することがあります。この例については、 マージリクエスト 1382をご覧ください。
- 実験的機能の安定性は保証されておらず、破壊的変更なしに変更または削除されることがあります。
破壊的変更は最後の手段であり、本当に必要な場合にのみ導入するよう最善を尽くしています。
インスピレーション
GitLab CLI は、2022 年に Clement Sam から引き継がれ、GitLab の公式 CLI として採用されました。このプロジェクトは長年にわたり、GitHub CLI と Zaq? Wiedmann の lab の両方から着想を得てきました。
Lab は、ci view や ci trace など、多くの GitLab CI/CD コマンドの基盤となっています。