glab-config について
glab の設定を管理するスキルです。グローバルおよびホスト別設定、設定ファイル、環境変数による上書き、プロキシ、カスタムヘッダーを扱います。glab とその自動化動作を設定する用途に向いています。
主な機能
- 01設定値の確認と更新
- 02ホスト別プロキシの設定
- 03認証プロキシ用ヘッダーの設定
- 04有効な設定ファイルの特定
- 05環境変数による上書きと設定の検証
活用シーン
- 01特定の GitLab ホストへのプロキシ設定
- 02認証プロキシ用ヘッダーの設定
- 03有効な設定パスの確認
- 04非対話型 glab 自動化の準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vince-winkintel/ gitlab-cli-skills --skill glab-configインストール後、Claude Code で/glab-configを入力して読み込まれたか確認します。
同梱ファイルreferences/commands.md
詳細
glab config
概要
Manage key/value strings.
Current respected settings:
- Global behavior: branch_prefix, browser, check_update, debug, display_hyperlinks,
duo_cli_auto_download, duo_cli_auto_run, editor, git_protocol, glab_pager,
glamour_style, host, no_prompt, notify_skill_updates, orbit_cli_auto_download,
orbit_cli_auto_run, remote_alias, show_whats_new, and telemetry.
- Per-host behavior: api_host, api_protocol, artifact_registry_domains, ca_cert,
client_cert, client_id, client_key, container_registry_domains, custom_headers,
job_token, proxy, skip_tls_verify, ssh_host, subfolder, token, and use_keyring.
- Accepted aliases include visual/glab_editor for editor, gitlab_host/gitlab_uri/gl_host
for host, prompt_disabled for no_prompt, and the full alias list in references/commands.md.
USAGE
glab config [command] [--flags]
COMMANDS
edit [--flags] Opens the glab configuration file.
get <key> [--flags] Prints the value of a given configuration key.
path [--flags] Print the location of the global configuration file.
set <key> <value> [--flags] Updates configuration with the value of a given key.
FLAGS
-g --global Use global config file.
-h --help Show help for this command.
クイックスタート
glab config --help
ホストごとのプロキシ設定
固定プロキシが必要な各 GitLab ホストに対して、proxy を設定します。異なる GitLab インスタンス(たとえば、gitlab.com とセルフホストインスタンス)で異なるプロキシ設定が必要な場合に便利です。
# Set the proxy for a specific host
glab config set proxy "http://proxy.example.com:8080" --host gitlab.mycompany.com
# Verify
glab config get proxy --host gitlab.mycompany.com
優先順位: ホストごとに設定した proxy は、そのホストに対する環境変数ベースのプロキシ選択に優先します。未設定の場合、glab は Go 標準の HTTP_PROXY、HTTPS_PROXY、NO_PROXY の処理にフォールバックします。proxy はホストごとの設定です。--global でトップレベルの値を書き込むのではなく、--host を使用してください。
認証プロキシ向けの動的カスタムヘッダー
認証プロキシまたはアクセスゲートウェイを使用する場合は、グローバル設定の該当するホストエントリーに custom_headers リストを追加します。各項目には name と、value、valueFromEnv、valueFromCommand のいずれか1つのみを指定する必要があります。シークレットを YAML に直接保存しないよう、valueFromEnv または認証情報ヘルパーコマンドを優先してください。
hosts:
gitlab.example.com:
custom_headers:
- name: X-Proxy-Client-ID
value: public-client-id
- name: X-Proxy-Client-Secret
valueFromEnv: PROXY_CLIENT_SECRET
- name: Proxy-Authorization
valueFromCommand: proxy-token-helper
構造化リストを編集するには glab config edit --global を使用してください。スカラー値を設定する config set 呼び出しで無理に設定しないでください。コマンドソースは、暗黙のシェルを介さずに実行ファイルと引数に分割され、glab プロセスごとに1回、30秒のタイムアウトで実行され、NUL バイトを含まない空でない1行を出力する必要があります。トリミングされた結果は、OAuth の更新を含む、そのプロセス内のすべてのリクエストで再利用されます。シェル展開が避けられない場合は、レビュー済みのシェルを明示的に呼び出してください。それ以外の場合は、valueFromEnv を優先してください。
カスタムヘッダーの値は認証情報として扱ってください。設定、ログ、コマンド引数、リポジトリにリテラルのシークレットを含めないでください。glab は設定されたヘッダーをそのホストへのリクエストに付加するため、ヘッダーを有効にする前にホストを確認してください。
設定ファイルの検索順序
glab は、次の順序でグローバル設定を選択します。
GLAB_CONFIG_DIRが設定されている場合は、$GLAB_CONFIG_DIR/config.yml。これは明示的なオーバーライドです。ここに設定ファイルがまだ存在しない場合でも、glab はこのディレクトリを使用します。- それ以外の場合、通常の候補のうち最初に存在するものを使用します。
~/.config/glab-cli/config.yml。レガシーな場所として引き続き使用されます。$XDG_CONFIG_HOME/glab-cli/config.yml(macOS では、デフォルトで~/Library/Application Support/glab-cli/config.yml)。- システム全体のデフォルト設定用の
$XDG_CONFIG_DIRS/glab-cli/config.yml。Linux で通常使用されるデフォルトは/etc/xdg/glab-cli/config.ymlです。macOS でシステム全体の設定を使用する場合は、XDG_CONFIG_DIRSを明示的に設定してください。
ファイルは統合されません。レガシーな XDG ファイルとプラットフォーム固有の XDG ファイルの両方が存在する場合、glab はレガシーファイルを使用して警告を表示します。リポジトリローカルの設定は .git/glab-cli/config.yml に保存され、ホストごとの設定は選択されたグローバルファイルに保存されます。ファイルを直接変更するより、glab config get、set、edit を使用してください。また、保存されたトークンをログやバージョン管理にコピーしないでください。
有効なグローバル設定の場所を確認する
グローバル設定ファイルの場所をハードコードする代わりに、glab config path を使用してください。ファイルがまだ存在しない場合でもパスを出力します。--dir を指定すると、親ディレクトリを出力します。
glab config path
glab config path --dir
$EDITOR "$(glab config path)"
サンドボックス化されたツールで glab に認証情報の更新や書き換えを許可する必要がある場合は、config.yml ファイルだけでなく、glab config path --dir で取得したディレクトリへの書き込みアクセスを許可してください。glab はそのディレクトリに一時ファイルを書き込んでから、設定ファイルを置き換えます。
エージェントごとの環境変数ファイルを使うパターン
エージェントを使う環境では、共有のシェルプロファイルを使うよりも、エージェントごとの環境変数ファイルを使うことをおすすめします。例:
# ~/.config/openclaw/env/gitlab-reviewer.env
GITLAB_TOKEN=glpat-...
GITLAB_HOST=gitlab.com
これらの環境変数ファイルはバージョン管理の対象外にし、アクセス権を制限し(例:chmod 600)、バックアップから漏えいするリスクに注意してください。また、最小権限のボット/サービスアカウントトークンを使用してください。
通常の KEY=value 形式の環境変数ファイルを読み込み、変数を glab にエクスポートするには、次のようにします。
set -a
source ~/.config/openclaw/env/gitlab-<agent>.env
set +a
source ~/.config/openclaw/env/gitlab-<agent>.env を実行すると現在のシェルは更新されますが、値がエクスポートされない場合があります。その場合、glab が環境変数による上書きを認識できず、アクティブなグローバル設定ファイルに保存された認証情報を暗黙的に再利用することがあります。
エージェントごとに異なる表示名が必要な場合は、異なる GitLab ボット/サービスアカウントを使用してください。同じ GitLab ユーザーの複数の PAT は、いずれもその同じユーザーとして動作します。
非対話型プロンプトと設定の検証
プロンプトを表示せず、代わりにエラー終了する必要がある非対話型の自動化では、GLAB_NO_PROMPT=1 を使用してください。上流のドキュメントでは現在、GLAB_ 接頭辞付きの名前が推奨されています。古い NO_PROMPT は非推奨のため、新しいスクリプトでは使用しないでください。
GLAB_NO_PROMPT=1 glab repo prune --dry-run
設定に基づく環境変数の上書きには、設定スキーマに記載された環境変数の一覧を使用してください。各キーについて、最初に設定されている変数が優先されます。順序は glab config --help または設定ドキュメントの環境変数セクションに記載されています。このセクションは同じスキーマから生成されています。新しい自動化では、対応する GLAB_ 接頭辞付きの名前があれば、そちらを優先してください。古い名前も、同じ順序付きリストの後方に互換性のための代替名として残っています。
スキーマの順序を示す代表例:
remote_alias:GLAB_REMOTE_ALIAS、GIT_REMOTE_URL_VAR、GIT_REMOTE_ALIAS、REMOTE_ALIAS、REMOTE_NICKNAME、GIT_REMOTE_NICKNAMEeditor:GLAB_EDITOR、VISUAL、EDITORcheck_update:GLAB_CHECK_UPDATE、CHECK_UPDATEglamour_style:GLAB_GLAMOUR_STYLE、GLAMOUR_STYLEno_prompt:GLAB_NO_PROMPT、NO_PROMPT、PROMPT_DISABLEDapi_protocol:GLAB_API_PROTOCOL、API_PROTOCOLartifact_registry_domains:GLAB_ARTIFACT_REGISTRY_DOMAINS、ARTIFACT_REGISTRY_DOMAINScontainer_registry_domains:GLAB_CONTAINER_REGISTRY_DOMAINS、CONTAINER_REGISTRY_DOMAINSduo_cli_auto_downloadとduo_cli_auto_run:GLAB_DUO_CLI_AUTO_DOWNLOAD/DUO_CLI_AUTO_DOWNLOAD、GLAB_DUO_CLI_AUTO_RUN/DUO_CLI_AUTO_RUNorbit_cli_auto_downloadとorbit_cli_auto_run:GLAB_ORBIT_CLI_AUTO_DOWNLOAD/ORBIT_CLI_AUTO_DOWNLOAD、GLAB_ORBIT_CLI_AUTO_RUN/ORBIT_CLI_AUTO_RUNproxy、skip_tls_verify、use_keyring:GLAB_PROXY/PROXY、GLAB_SKIP_TLS_VERIFY/SKIP_TLS_VERIFY、GLAB_USE_KEYRING/USE_KEYRING
GITLAB_HOST、GITLAB_API_HOST、GITLAB_CLIENT_ID、GITLAB_SSH_HOST、GITLAB_SUBFOLDER、トークン変数など、既存の GitLab 固有の名前は、ドキュメントに記載された名前のまま使用してください。シークレットやホストセレクターの名前を、推測で変更しないでください。
glab config set は、正規の設定スキーマに照らしてキーを検証します。設定に失敗した場合は、未知のキーを無理に設定ファイルへ追加するのではなく、スペルや、設定がホスト単位(--host)かグローバル(--global)かを確認してください。
登録済みのエイリアスは大文字と小文字を区別せずに受け入れられ、正規キーで保存されます。たとえば、glab config set visual nano --global は editor を更新します。その後、glab config get visual --global と glab config get editor --global のどちらも同じ値を返します。エイリアスも引き続きサポートされていますが、新しい自動化では正規名を優先してください。
glab_pager と debug は有効なグローバル設定です。GLAB_PAGER は glab_pager より優先され、glab_pager は PAGER より優先されます。GLAB_DEBUG は保存済みの debug 設定を上書きできます。
共通設定
# View current config
glab config get --global
# Set default editor
glab config set editor vim --global
# Set pager
glab config set glab_pager "less -R" --global
# Enable detailed glab/Git/DNS diagnostics
glab config set debug true --global
# Disable update checks
glab config set check_update false --global
# Select the Git remote glab should prefer
glab config set remote_alias origin --global
# Allow Duo CLI to download and run without wrapper prompts
glab config set duo_cli_auto_download true --global
glab config set duo_cli_auto_run true --global
# Set default host
glab config set host https://gitlab.mycompany.com --global
サブコマンド
--help の出力全体については、references/commands.md を参照してください。