定義済み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が設定されている場合に使用できます。start、prepare、stopのいずれかです。 |
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_NAMEはrspec: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と組み合わせて使用します。success、failed、canceledのいずれかです。 |
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_NAMEはproject-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_NAMESPACEがroot-group/child-group/grandchild-groupの場合、CI_PROJECT_ROOT_NAMESPACEはroot-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 | プリパイプライン | プロジェクトの表示レベル。internal、private、publicのいずれかです。 |
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_MAJORは17になります。 |
CI_SERVER_VERSION_MINOR | プリパイプライン | GitLabインスタンスのマイナーバージョン。たとえば、GitLabバージョンが17.2.1の場合、CI_SERVER_VERSION_MINORは2になります。 |
CI_SERVER_VERSION_PATCH | プリパイプライン | GitLabインスタンスのパッチバージョン。たとえば、GitLabバージョンが17.2.1の場合、CI_SERVER_VERSION_PATCHは1になります。 |
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_TOKENは1234になります。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 | マージリクエストのイベントタイプ。detached、merged_result、merge_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_IID | GitHubからのプルリクエスト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が有効になっている場合、追加のプリパイプライン変数が利用可能になります:
AUTO_DEVOPS_EXPLICITLY_ENABLED: 値1は、Auto DevOpsが有効であることを示します。STAGING_ENABLED: Auto DevOpsのデプロイ戦略を参照してください。INCREMENTAL_ROLLOUT_MODE: Auto DevOpsのデプロイ戦略を参照してください。INCREMENTAL_ROLLOUT_ENABLED: 非推奨。
インテグレーション変数
一部のインテグレーションでは、ジョブで変数を使用できます。これらの変数は、ジョブ専用の定義済み変数として使用できます:
- Harbor:
HARBOR_URLHARBOR_HOSTHARBOR_OCIHARBOR_PROJECTHARBOR_USERNAMEHARBOR_PASSWORD
- Apple App Store Connect:
APP_STORE_CONNECT_API_KEY_ISSUER_IDAPP_STORE_CONNECT_API_KEY_KEY_IDAPP_STORE_CONNECT_API_KEY_KEYAPP_STORE_CONNECT_API_KEY_IS_KEY_CONTENT_BASE64
- Google Play:
SUPPLY_PACKAGE_NAMESUPPLY_JSON_KEY_DATA
- Diffblue Cover:
DIFFBLUE_LICENSE_KEYDIFFBLUE_ACCESS_TOKEN_NAMEDIFFBLUE_ACCESS_TOKEN
トラブルシューティング
scriptコマンドを使用して、ジョブで利用可能なすべての変数の値を出力できます。