正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

定義済みCI/CD変数のリファレンス

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

定義済みCI/CD変数は、すべてのGitLab CI/CDパイプラインで使用できます。

パイプラインが予期しない動作をする可能性があるため、定義済み変数をオーバーライドすることは避けてください。

変数の可用性

定義済み変数は、次の3つのパイプライン実行フェーズで使用可能になります:

  • プリパイプライン: プリパイプライン変数は、パイプラインが作成される前に使用できます。これらの変数は、パイプラインの作成時に使用する設定ファイルを制御するため使用されます。include:rulesでは、これらの変数のみが使用できます。
  • パイプライン: パイプライン変数は、GitLabがパイプラインを作成するときに使用可能になります。パイプライン変数はプリパイプライン変数と併せて使用できます。ジョブで定義されたrulesの設定に使用でき、どのジョブをパイプラインに追加するかを決定する際に役立ちます。
  • ジョブ専用: これらの変数は、Runnerがジョブを取得して実行するときにのみ、各ジョブで使用可能になります。次の特徴があります:

定義済み変数

変数可用性説明
CHAT_CHANNELパイプラインChatOpsコマンドをトリガーした元のチャットチャンネル。
CHAT_INPUTパイプラインChatOpsコマンドとともに渡された追加の引数。
CHAT_USER_IDパイプラインChatOpsコマンドをトリガーしたユーザーのチャットサービスのユーザーID。
CIプリパイプラインCI/CDで実行されるすべてのジョブで使用できます。利用可能な場合はtrueになります。
CI_API_V4_URLプリパイプラインGitLab API v4のルートURL。
CI_API_GRAPHQL_URLプリパイプラインGitLab API GraphQLのルートURL。GitLab 15.11で導入されました。
CI_BUILDS_DIRジョブ専用ビルドが実行されるトップレベルディレクトリ。
CI_COMMIT_AUTHORプリパイプラインName <email>形式のコミットの作成者。
CI_COMMIT_BEFORE_SHAプリパイプラインブランチまたはタグに存在する、以前の最新コミット。マージリクエストパイプライン、スケジュールされたパイプライン、ブランチまたはタグのパイプラインの最初のコミット、またはパイプラインの手動実行では、常に0000000000000000000000000000000000000000になります。
CI_COMMIT_BRANCHプリパイプラインコミットブランチ名。デフォルトブランチのパイプラインを含む、ブランチパイプラインで使用できます。マージリクエストパイプラインまたはタグパイプラインでは使用できません。
CI_COMMIT_DESCRIPTIONプリパイプラインコミットの説明。タイトルが100文字より短い場合は、最初の行を除いたメッセージが表示されます。
CI_COMMIT_MESSAGEプリパイプラインコミットメッセージ全文。
CI_COMMIT_MESSAGE_IS_TRUNCATEDプリパイプラインメッセージが長すぎるため、コミットメッセージがGITLAB_CI_MAX_COMMIT_MESSAGE_SIZE_IN_BYTESシステム環境変数(デフォルト100 KB)で指定されたサイズにCI_COMMIT_MESSAGEが切り詰められた場合、trueになります。それ以外の場合はfalse。GitLab 18.6で導入されました。
CI_COMMIT_REF_NAMEプリパイプラインプロジェクトがビルドされるブランチまたはタグ名。
CI_COMMIT_REF_PROTECTEDプリパイプラインジョブが保護された参照に対して実行されている場合はtrue、それ以外の場合はfalseになります。
CI_COMMIT_REF_SLUGプリパイプラインCI_COMMIT_REF_NAMEを小文字にし、63バイトに短縮し、0-9およびa-z以外のすべての文字を-に置き換えます。先頭と末尾に-はありません。URL、ホスト名、ドメイン名で使用します。
CI_COMMIT_SHAプリパイプラインプロジェクトがビルドされるコミットリビジョン。
CI_COMMIT_SHORT_SHAプリパイプラインCI_COMMIT_SHAの最初の8文字。
CI_COMMIT_TAGプリパイプラインコミットタグ名。タグのパイプラインでのみ使用できます。
CI_COMMIT_TAG_MESSAGEプリパイプラインコミットタグメッセージ。タグのパイプラインでのみ使用できます。GitLab 15.5で導入されました。
CI_COMMIT_TIMESTAMPプリパイプラインISO 8601形式のコミットのタイムスタンプ。例: 2022-01-31T16:47:55ZデフォルトではUTCです。
CI_COMMIT_TITLEプリパイプラインコミットのタイトル。メッセージの最初の行全体です。
CI_CONCURRENT_IDジョブ専用単一executorにおけるビルド実行の一意のID。
CI_CONCURRENT_PROJECT_IDジョブ専用単一executorおよびプロジェクトにおけるビルド実行の一意のID。
CI_CONFIG_PATHプリパイプラインCI/CD設定ファイルのパス。デフォルトは.gitlab-ci.ymlです。
CI_DEBUG_TRACEパイプラインデバッグログ(トレーシング)が有効になっている場合はtrueになります。
CI_DEBUG_SERVICESパイプラインサービスコンテナログの生成が有効になっている場合はtrueになります。GitLab 15.7で導入されました。GitLab Runner 15.7が必要です。
CI_DEFAULT_BRANCHプリパイプラインプロジェクトのデフォルトブランチの名前。
CI_DEFAULT_BRANCH_SLUGプリパイプラインCI_DEFAULT_BRANCHを小文字にし、63バイトに短縮し、0-9およびa-z以外のすべての文字を-に置き換えます。先頭と末尾に-はありません。URL、ホスト名、ドメイン名で使用します。
CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIXプリパイプライン依存プロキシを介してイメージをプルするための直接的なグループイメージプレフィックス。
CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIXプリパイプライン依存プロキシを介してイメージをプルするためのトップレベルグループイメージプレフィックス。
CI_DEPENDENCY_PROXY_PASSWORDパイプライン依存プロキシを介してイメージをプルするためのパスワード。
CI_DEPENDENCY_PROXY_SERVERプリパイプライン依存プロキシにログインするためのサーバー。この変数は$CI_SERVER_HOST:$CI_SERVER_PORTと同等です。
CI_DEPENDENCY_PROXY_USERパイプライン依存プロキシを介してイメージをプルするためのユーザー名。
CI_DEPLOY_FREEZEプリパイプラインデプロイフリーズ期間中にパイプラインが実行される場合にのみ使用できます。利用可能な場合はtrueになります。
CI_DEPLOY_PASSWORDジョブ専用プロジェクトにGitLabデプロイトークンがある場合、その認証パスワード。
CI_DEPLOY_USERジョブ専用プロジェクトにGitLabデプロイトークンがある場合、その認証ユーザー名。
CI_DISPOSABLE_ENVIRONMENTパイプラインジョブが使い捨て環境(このジョブ専用に作成され、実行後に破棄または削除されるもの - shellおよびssh以外のすべてのexecutor)で実行される場合にのみ使用できます。利用可能な場合はtrueになります。
CI_ENVIRONMENT_IDパイプラインこのジョブの環境のID。environment:nameが設定されている場合に使用できます。
CI_ENVIRONMENT_NAMEパイプラインこのジョブの環境の名前。environment:nameが設定されている場合に使用できます。
CI_ENVIRONMENT_SLUGパイプライン環境名の簡略化されたバージョン。DNS、URL、Kubernetesラベルなどに組み込むのに適しています。environment:nameが設定されている場合に使用できます。slugは24文字に切り詰められます大文字の環境名にランダムなサフィックスが自動的に追加されます。
CI_ENVIRONMENT_URLパイプラインこのジョブの環境のURL。environment:urlが設定されている場合に使用できます。
CI_ENVIRONMENT_ACTIONパイプラインこのジョブの環境に指定されたアクション注釈。environment:actionが設定されている場合に使用できます。startpreparestopのいずれかです。
CI_ENVIRONMENT_TIERパイプラインこのジョブの環境のデプロイ階層
CI_GITLAB_FIPS_MODEプリパイプラインGitLabインスタンスでFIPSモードが有効になっている場合にのみ使用できます。利用可能な場合はtrueになります。
CI_HAS_OPEN_REQUIREMENTSパイプラインパイプラインのプロジェクトにオープンな要件がある場合にのみ使用できます。利用可能な場合はtrueになります。
CI_JOB_GROUP_NAMEパイプラインparallel (並列)または手動でグループ化されたジョブを使用する場合の、ジョブのグループの共有名。たとえば、ジョブ名がrspec:test: [ruby, ubuntu]の場合、CI_JOB_GROUP_NAMErspec:testです。それ以外の場合は、CI_JOB_NAMEと同じです。GitLab 17.10で導入されました。
CI_JOB_IDジョブ専用GitLabインスタンス内のすべてのジョブで一意なジョブの内部ID。
CI_JOB_IMAGEジョブ専用ジョブを実行しているDockerイメージの名前。ジョブがDockerイメージを明示的に指定する場合にのみ使用できます。
CI_JOB_MANUALパイプラインジョブが手動で開始された場合にのみ使用できます。利用可能な場合はtrueになります。
CI_JOB_NAMEパイプラインジョブの名前。
CI_JOB_NAME_SLUGパイプラインCI_JOB_NAMEを小文字にし、63バイトに短縮し、0-9およびa-z以外のすべての文字を-に置き換えます。先頭と末尾に-はありません。パスで使用します。GitLab 15.4で導入されました。
CI_JOB_STAGEパイプラインジョブのステージの名前。
CI_JOB_STATUSジョブ専用Runnerの各ステージが実行される際のジョブのステータス。after_scriptと組み合わせて使用します。successfailedcanceledのいずれかです。
CI_JOB_TIMEOUTジョブ専用ジョブのタイムアウト(秒)。GitLab 15.7で導入されました。GitLab Runner 15.7が必要です。
CI_JOB_TOKENジョブ専用特定のAPIエンドポイントで認証するためのトークン。トークンはジョブの実行中のみ有効です。
CI_JOB_URLジョブ専用ジョブの詳細URL。
CI_JOB_STARTED_ATジョブ専用ジョブが開始された日時(ISO 8601形式)。例: 2022-01-31T16:47:55ZデフォルトではUTCです。
CI_KUBERNETES_ACTIVEプリパイプラインパイプラインがデプロイ用のKubernetesクラスターを利用できる場合にのみ使用できます。利用可能な場合はtrueになります。
CI_NODE_INDEXパイプラインジョブセット内のジョブのインデックス。ジョブでparallelを使用する場合にのみ使用できます。
CI_NODE_TOTALパイプライン並列実行されている該当ジョブのインスタンスの合計数。ジョブでparallelを使用しない場合は、1に設定します。
CI_OPEN_MERGE_REQUESTSプリパイプライン現在のブランチとプロジェクトをマージリクエストのソースブランチとして使用する、最大4つのマージリクエストのカンマ区切りリスト。ブランチにマージリクエストが関連付けられている場合、ブランチおよびマージリクエストパイプラインでのみ使用できます。例: gitlab-org/gitlab!333,gitlab-org/gitlab-foss!11
CI_PAGES_DOMAINプリパイプラインネームスペースサブドメインを含まない、GitLab Pagesをホスティングするインスタンスのドメイン。完全なホスト名を使用するには、代わりにCI_PAGES_HOSTNAMEを使用してください。
CI_PAGES_HOSTNAMEジョブ専用Pagesデプロイの完全なホスト名。
CI_PAGES_URLジョブ専用GitLab PagesサイトのURL。常にCI_PAGES_DOMAINのサブドメイン。GitLab 17.9以降、値にはpath_prefix(指定されている場合)が含まれます。
CI_PIPELINE_IDジョブ専用現在のパイプラインのインスタンスレベルID。このIDは、GitLabインスタンス上のすべてのプロジェクトで一意です。
CI_PIPELINE_IIDパイプライン現在のパイプラインのプロジェクトレベルIID(内部ID)。このIDは、現在のプロジェクトでのみ一意です。
CI_PIPELINE_SOURCEプリパイプラインパイプラインがトリガーされた方法。値は、パイプラインソースのいずれかになります。
CI_PIPELINE_TRIGGEREDパイプラインジョブがトリガーされた場合はtrueになります。
CI_PIPELINE_URLジョブ専用パイプラインの詳細のURL。
CI_PIPELINE_CREATED_ATジョブ専用パイプラインが作成された日時(ISO 8601形式)。例: 2022-01-31T16:47:55ZデフォルトではUTCです。
CI_PIPELINE_NAMEプリパイプラインworkflow:nameで定義されたパイプライン名。GitLab 16.3で導入されました。
CI_PIPELINE_SCHEDULE_DESCRIPTIONプリパイプラインパイプラインスケジュールの説明。スケジュールされたパイプラインでのみ使用できます。GitLab 17.8で導入されました。
CI_PROJECT_DIRジョブ専用リポジトリのクローン先であり、ジョブの実行起点となる場所のフルパス。GitLab Runnerのbuilds_dirパラメータが設定されている場合、この変数はbuilds_dirの値を基準に設定されます。詳細については、GitLab Runnerの高度な設定を参照してください。
CI_PROJECT_IDプリパイプライン現在のプロジェクトID。このIDは、GitLabインスタンス上のすべてのプロジェクトで一意です。
CI_PROJECT_NAMEプリパイプラインプロジェクトのディレクトリ名。たとえば、プロジェクトのURLがgitlab.example.com/group-name/project-1の場合、CI_PROJECT_NAMEproject-1になります。
CI_PROJECT_NAMESPACEプリパイプラインジョブのプロジェクトネームスペース(ユーザー名またはグループ名)。
CI_PROJECT_NAMESPACE_IDプリパイプラインジョブのプロジェクトネームスペースID。GitLab 15.7で導入されました。
CI_PROJECT_NAMESPACE_SLUGプリパイプライン$CI_PROJECT_NAMESPACEを小文字にし、a-zまたは0-9ではない文字を-に置き換え、63バイトに短縮します。
CI_PROJECT_PATH_SLUGプリパイプライン$CI_PROJECT_PATHを小文字にし、a-zまたは0-9ではない文字を-に置き換え、63バイトに短縮します。URLおよびドメイン名で使用します。
CI_PROJECT_PATHプリパイプラインプロジェクト名を含むプロジェクトのネームスペース。
CI_PROJECT_REPOSITORY_LANGUAGESプリパイプラインリポジトリで使用されている言語の小文字のカンマ区切りリスト。例: ruby,javascript,html,css。最大5言語に制限されています。イシューで制限の引き上げが提案されています
CI_PROJECT_ROOT_NAMESPACEプリパイプラインジョブのルートプロジェクトのネームスペース(ユーザー名またはグループ名)。たとえば、CI_PROJECT_NAMESPACEroot-group/child-group/grandchild-groupの場合、CI_PROJECT_ROOT_NAMESPACEroot-groupです。
CI_PROJECT_TITLEプリパイプラインGitLab Webインターフェースに表示される、人間が理解しやすいプロジェクト名。
CI_PROJECT_DESCRIPTIONプリパイプラインGitLab Webインターフェースに表示されるプロジェクトの説明。GitLab 15.1で導入されました。
CI_PROJECT_TOPICSプリパイプラインプロジェクトに割り当てられたトピックの小文字のカンマ区切りリスト(最初の20件に制限)。GitLab 18.3で導入されました。
CI_PROJECT_URLプリパイプラインプロジェクトのHTTP(S)アドレス。
CI_PROJECT_VISIBILITYプリパイプラインプロジェクトの表示レベル。internalprivatepublicのいずれかです。
CI_PROJECT_CLASSIFICATION_LABELプリパイプラインプロジェクトの外部認証分類ラベル
CI_REGISTRYプリパイプラインコンテナレジストリサーバーのアドレス。形式は<host>[:<port>]。例: registry.gitlab.example.com。GitLabインスタンスでコンテナレジストリが有効になっている場合にのみ使用できます。
CI_REGISTRY_IMAGEプリパイプラインプロジェクトのイメージをプッシュ、プル、またはタグ付けするためのコンテナレジストリのベースアドレス。形式は<host>[:<port>]/<project_full_path>。例: registry.gitlab.example.com/my_group/my_project。イメージ名は、コンテナレジストリの命名規則に従う必要があります。プロジェクトでコンテナレジストリが有効になっている場合にのみ使用できます。
CI_REGISTRY_PASSWORDジョブ専用コンテナをGitLabプロジェクトのコンテナレジストリにプッシュするためのパスワード。プロジェクトでコンテナレジストリが有効になっている場合にのみ使用できます。このパスワードの値はCI_JOB_TOKENと同じで、ジョブの実行中にのみ有効です。レジストリへの長期的なアクセスには、CI_DEPLOY_PASSWORDを使用します。
CI_REGISTRY_USERジョブ専用プロジェクトのGitLabコンテナレジストリにコンテナをプッシュするためのユーザー名。プロジェクトでコンテナレジストリが有効になっている場合にのみ使用できます。
CI_RELEASE_DESCRIPTIONパイプラインリリースに関する説明。タグのパイプラインでのみ使用できます。説明の長さは、最初の1024文字に制限されています。GitLab 15.5で導入されました。
CI_REPOSITORY_URLジョブ専用CI/CDジョブトークンを使用してリポジトリをGitクローン(HTTP)するためのフルパス。形式はhttps://gitlab-ci-token:$CI_JOB_TOKEN@gitlab.example.com/my-group/my-project.git
CI_RUNNER_DESCRIPTIONジョブ専用Runnerの説明。
CI_RUNNER_EXECUTABLE_ARCHジョブ専用GitLab Runner実行可能ファイルのOS/アーキテクチャ。executorの環境と同じではない場合があります。
CI_RUNNER_IDジョブ専用使用されているRunnerの一意のID。
CI_RUNNER_REVISIONジョブ専用ジョブを実行しているRunnerのリビジョン。
CI_RUNNER_SHORT_TOKENジョブ専用新しいジョブリクエストの認証に使用される、Runnerの一意のID。トークンにはプレフィックスが含まれており、最初の17文字が使用されます。
CI_RUNNER_TAGSジョブ専用RunnerタグのJSON配列。例: ["tag_1", "tag_2"]
CI_RUNNER_VERSIONジョブ専用ジョブを実行しているGitLab Runnerのバージョン。
CI_SERVER_FQDNプリパイプラインインスタンスの完全修飾ドメイン名(FQDN)。例: gitlab.example.com:8080。GitLab 16.10で導入されました。
CI_SERVER_HOSTプリパイプラインプロトコルやポートを含まない、GitLabインスタンスのURLのホスト。例: gitlab.example.com
CI_SERVER_NAMEプリパイプラインジョブを調整するCI/CDサーバーの名前。
CI_SERVER_PORTプリパイプラインホストやプロトコルを含まない、GitLabインスタンスのURLのポート。例: 8080
CI_SERVER_PROTOCOLプリパイプラインホストやポートを含まない、GitLabインスタンスのURLのプロトコル。例: https
CI_SERVER_SHELL_SSH_HOSTプリパイプラインSSH経由でGitリポジトリにアクセスするために使用されるGitLabインスタンスのSSHホスト。例: gitlab.com。GitLab 15.11で導入されました。
CI_SERVER_SHELL_SSH_PORTプリパイプラインSSH経由でGitリポジトリにアクセスするために使用されるGitLabインスタンスのSSHポート。例: 22。GitLab 15.11で導入されました。
CI_SERVER_REVISIONプリパイプラインジョブをスケジュールするGitLabリビジョン。
CI_SERVER_TLS_CA_FILEパイプラインRunnerの設定tls-ca-fileが設定されている場合に、GitLabサーバーを検証するためのTLS CA証明書を含むファイル。
CI_SERVER_TLS_CERT_FILEパイプラインRunnerの設定tls-cert-fileが設定されている場合に、GitLabサーバーを検証するためのTLS証明書を含むファイル。
CI_SERVER_TLS_KEY_FILEパイプラインRunnerの設定tls-key-fileが設定されている場合に、GitLabサーバーを検証するためのTLSキーを含むファイル。
CI_SERVER_URLプリパイプラインプロトコルとポートを含む、GitLabインスタンスのベースURL。例: https://gitlab.example.com:8080
CI_SERVER_VERSION_MAJORプリパイプラインGitLabインスタンスのメジャーバージョン。たとえば、GitLabバージョンが17.2.1の場合、CI_SERVER_VERSION_MAJOR17になります。
CI_SERVER_VERSION_MINORプリパイプラインGitLabインスタンスのマイナーバージョン。たとえば、GitLabバージョンが17.2.1の場合、CI_SERVER_VERSION_MINOR2になります。
CI_SERVER_VERSION_PATCHプリパイプラインGitLabインスタンスのパッチバージョン。たとえば、GitLabバージョンが17.2.1の場合、CI_SERVER_VERSION_PATCH1になります。
CI_SERVER_VERSIONプリパイプラインGitLabインスタンスのフルバージョン。
CI_SERVERジョブ専用CI/CDで実行されるすべてのジョブで使用できます。利用可能な場合はyesになります。
CI_SHARED_ENVIRONMENTパイプラインジョブが共有環境(shellまたはssh executorのように、CI/CDの呼び出しをまたいで永続化されるもの)で実行される場合にのみ使用できます。利用可能な場合はtrueになります。
CI_TEMPLATE_REGISTRY_HOSTプリパイプラインCI/CDテンプレートで使用されるレジストリのホスト。デフォルトはregistry.gitlab.comです。GitLab 15.3で導入されました。
CI_TRIGGER_SHORT_TOKENジョブ専用現在のジョブのトリガートークンの最初の4文字。パイプラインがトリガートークンでトリガーされた場合にのみ使用できます。たとえば、トリガートークンがglptt-1234567890abcdefghijの場合、CI_TRIGGER_SHORT_TOKEN1234になります。GitLab 17.0で導入されました。
GITLAB_CIプリパイプラインCI/CDで実行されるすべてのジョブで使用できます。利用可能な場合はtrueになります。
GITLAB_FEATURESプリパイプラインGitLabインスタンスおよびライセンスで使用可能なライセンス機能のカンマ区切りリスト。
GITLAB_USER_EMAILパイプラインパイプラインを開始したユーザーのメール(ジョブが手動ジョブの場合を除く)。手動ジョブの場合、この値はジョブを開始したユーザーのメールになります。
GITLAB_USER_IDパイプラインパイプラインを開始したユーザーの数値ID(ジョブが手動ジョブの場合を除く)。手動ジョブの場合、この値はジョブを開始したユーザーのIDになります。
GITLAB_USER_LOGINパイプラインパイプラインを開始したユーザーの一意のユーザー名(ジョブが手動ジョブの場合を除く)。手動ジョブの場合、この値はジョブを開始したユーザーのユーザー名になります。
GITLAB_USER_NAMEパイプラインパイプラインを開始したユーザーの表示名(プロファイル設定でユーザーが定義したフルネーム)(ジョブが手動ジョブの場合を除く)。手動ジョブの場合、この値はジョブを開始したユーザーの名前になります。
KUBECONFIGパイプラインすべての共有エージェント接続のコンテキストを含むkubeconfigファイルのパス。Kubernetes向けGitLabエージェントがプロジェクトへのアクセスを許可されている場合にのみ使用できます。
TRIGGER_PAYLOADパイプラインWebhookペイロード。パイプラインがWebhookでトリガーされた場合にのみ使用できます。

マージリクエストパイプラインの定義済み変数

これらの変数は、GitLabがパイプラインを作成する前(プリパイプライン)に使用できます。これらの変数は、include:rulesの条件設定やジョブの環境変数として使用できます。

パイプラインはマージリクエストパイプラインであり、かつマージリクエストはオープンである必要があります。

変数説明
CI_MERGE_REQUEST_APPROVEDマージリクエストの承認ステータス。マージリクエスト承認が利用可能で、マージリクエストが承認されている場合は、trueになります。
CI_MERGE_REQUEST_ASSIGNEESマージリクエスト担当者のユーザー名のカンマ区切りリスト。マージリクエストに少なくとも1人の担当者がいる場合にのみ使用できます。
CI_MERGE_REQUEST_DIFF_BASE_SHAマージリクエスト差分のベースSHA。
CI_MERGE_REQUEST_DIFF_IDマージリクエスト差分のバージョン。
CI_MERGE_REQUEST_EVENT_TYPEマージリクエストのイベントタイプ。detachedmerged_resultmerge_trainのいずれかです。
CI_MERGE_REQUEST_DESCRIPTIONマージリクエストの説明。説明が2700文字を超える場合、最初の2700文字のみが変数に格納されます。GitLab 16.7で導入されました。
CI_MERGE_REQUEST_DESCRIPTION_IS_TRUNCATEDマージリクエストの説明が長すぎるため、CI_MERGE_REQUEST_DESCRIPTIONが2700文字に切り詰められた場合はtrue、それ以外の場合はfalseになります。GitLab 16.8で導入されました。
CI_MERGE_REQUEST_IDマージリクエストのインスタンスレベルID。IDは、GitLabインスタンス上のすべてのプロジェクトで一意です。
CI_MERGE_REQUEST_IIDマージリクエストのプロジェクトレベルIID(内部ID)。このIDは現在のプロジェクトで一意です。この番号はマージリクエストURL、ページタイトル、その他の目に見える場所で使用されます。
CI_MERGE_REQUEST_LABELSマージリクエストのラベル名のカンマ区切りリスト。マージリクエストに少なくとも1つのラベルがある場合にのみ使用できます。
CI_MERGE_REQUEST_MILESTONEマージリクエストのマイルストーンタイトル。マージリクエストにマイルストーンが設定されている場合にのみ使用できます。
CI_MERGE_REQUEST_PROJECT_IDマージリクエストのプロジェクトID。
CI_MERGE_REQUEST_PROJECT_PATHマージリクエストのプロジェクトのパス。例: namespace/awesome-project
CI_MERGE_REQUEST_PROJECT_URLマージリクエストのプロジェクトURL。例: http://192.168.10.15:3000/namespace/awesome-project
CI_MERGE_REQUEST_REF_PATHマージリクエストのrefパス。例: refs/merge-requests/1/head
CI_MERGE_REQUEST_SOURCE_BRANCH_NAMEマージリクエストのソースブランチ名。
CI_MERGE_REQUEST_SOURCE_BRANCH_PROTECTEDマージリクエストのソースブランチが保護されている場合は、trueになります。GitLab 16.4で導入されました。
CI_MERGE_REQUEST_SOURCE_BRANCH_SHAマージリクエストのソースブランチのHEAD SHA。変数はマージリクエストパイプラインでは空になります。SHAは、マージ結果パイプラインにのみ存在します。
CI_MERGE_REQUEST_SOURCE_PROJECT_IDマージリクエストのソースプロジェクトID。
CI_MERGE_REQUEST_SOURCE_PROJECT_PATHマージリクエストのソースプロジェクトパス。
CI_MERGE_REQUEST_SOURCE_PROJECT_URLマージリクエストのソースプロジェクトURL。
CI_MERGE_REQUEST_SQUASH_ON_MERGEマージ時にスカッシュオプションが設定されている場合は、trueになります。GitLab 16.4で導入されました。
CI_MERGE_REQUEST_TARGET_BRANCH_NAMEマージリクエストのターゲットブランチ名。
CI_MERGE_REQUEST_TARGET_BRANCH_PROTECTEDマージリクエストのターゲットブランチが保護されている場合は、trueになります。GitLab 15.2で導入されました。
CI_MERGE_REQUEST_TARGET_BRANCH_SHAマージリクエストのターゲットブランチのHEAD SHA。変数はマージリクエストパイプラインでは空になります。SHAは、マージ結果パイプラインにのみ存在します。
CI_MERGE_REQUEST_TITLEマージリクエストのタイトル。
CI_MERGE_REQUEST_DRAFTマージリクエストがドラフトの場合は、trueになります。GitLab 17.10で導入されました。

外部プルリクエストパイプラインの定義済み変数

これらの変数は、以下の場合にのみ使用できます:

変数説明
CI_EXTERNAL_PULL_REQUEST_IIDGitHubからのプルリクエストID。
CI_EXTERNAL_PULL_REQUEST_SOURCE_REPOSITORYプルリクエストのソースリポジトリ名。
CI_EXTERNAL_PULL_REQUEST_TARGET_REPOSITORYプルリクエストのターゲットリポジトリ名。
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_NAMEプルリクエストのソースブランチ名。
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_SHAプルリクエストのソースブランチのHEAD SHA。
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_NAMEプルリクエストのターゲットブランチ名。
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_SHAプルリクエストのターゲットブランチのHEAD SHA。

デプロイ変数

デプロイ設定を担うインテグレーションでは、ビルド環境で設定される独自の定義済み変数を定義できます。これらの変数は、デプロイジョブでのみ定義されます。

たとえば、Kubernetesインテグレーションは、インテグレーションで使用できるデプロイ変数を定義します。

各インテグレーションのドキュメントには、そのインテグレーションで利用できるデプロイ変数が記載されています。

Auto DevOps変数

Auto DevOpsが有効になっている場合、追加のプリパイプライン変数が利用可能になります:

インテグレーション変数

一部のインテグレーションでは、ジョブで変数を使用できます。これらの変数は、ジョブ専用の定義済み変数として使用できます:

  • Harbor:
    • HARBOR_URL
    • HARBOR_HOST
    • HARBOR_OCI
    • HARBOR_PROJECT
    • HARBOR_USERNAME
    • HARBOR_PASSWORD
  • Apple App Store Connect:
    • APP_STORE_CONNECT_API_KEY_ISSUER_ID
    • APP_STORE_CONNECT_API_KEY_KEY_ID
    • APP_STORE_CONNECT_API_KEY_KEY
    • APP_STORE_CONNECT_API_KEY_IS_KEY_CONTENT_BASE64
  • Google Play:
    • SUPPLY_PACKAGE_NAME
    • SUPPLY_JSON_KEY_DATA
  • Diffblue Cover:
    • DIFFBLUE_LICENSE_KEY
    • DIFFBLUE_ACCESS_TOKEN_NAME
    • DIFFBLUE_ACCESS_TOKEN

トラブルシューティング

scriptコマンドを使用して、ジョブで利用可能なすべての変数の値を出力できます。