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

フロー実行変数

すべての変数が、フローを実行するジョブで使用できるわけではありません。

  • 一部の定義済み変数とエージェントプラットフォーム固有の変数が利用可能です。
  • 定義済みでフィルターされた変数、カスタムCI/CD変数、およびユーザーID変数は利用できません。

利用可能な変数

フローを実行するジョブで使用できる変数を以下に示します。

定義済み変数

以下の定義済みCI/CD変数を使用できます:

変数説明
CI_PROJECT_IDプロジェクトID。
CI_PROJECT_NAMEプロジェクト名。
CI_PROJECT_PATH名前空間付きのプロジェクトパス。
CI_PROJECT_URLプロジェクトHTTP URL。
CI_PROJECT_NAMESPACEプロジェクト名前空間。
CI_PROJECT_VISIBILITYプロジェクトの表示レベル(publicinternal、またはprivate)。
CI_DEFAULT_BRANCHデフォルトのブランチ名。
CI_JOB_IDジョブID。
CI_JOB_URLジョブURL。
CI_JOB_TOKENジョブ認証トークン。
CI_JOB_IMAGEジョブに使用されるDockerイメージ。
CI_JOB_STATUSジョブのステータス。
CI_JOB_TIMEOUTジョブのタイムアウト(秒単位)。
CI_JOB_STARTED_ATジョブ開始タイムスタンプ(ISO 8601形式)。
CI_PIPELINE_IDパイプラインID。
CI_PIPELINE_URLパイプラインURL。
CI_REGISTRY_USERコンテナレジストリのユーザー名(gitlab-ci-token)。
CI_REGISTRY_PASSWORDコンテナレジストリのパスワード(ジョブトークン)。
CI_DEPENDENCY_PROXY_USER依存プロキシのユーザー名。
CI_DEPENDENCY_PROXY_PASSWORD依存プロキシのパスワード。
CI_REPOSITORY_URL認証情報が埋め込まれたGitクローンURL。
CI_RUNNER_VERSIONRunnerバージョン。
CI_RUNNER_EXECUTABLE_ARCHRunnerアーキテクチャ(例:linux/amd64)。
CI_SERVERCI/CD環境では常にyes
CI_WORKLOAD_REFフロー実行のワークロード参照(例:refs/workloads/c727f70ba7f)。これはGitのブランチではなく、Gitの操作には使用できません。

環境変数

以下の環境変数は、エージェントプラットフォームに固有のものです。これらの変数は、setup_scriptとメインエージェントランタイムの両方で使用できます。

この表は、主要な変数をまとめたものです。追加の内部変数(たとえば、デバッグフラグとテレメトリ識別子)も実行コンテナに存在する可能性がありますが、フロー設定での使用は意図されていません。

変数説明
DUO_WORKFLOW_GIT_HTTP_BASE_URLGitLabインスタンスのベースURL。CI_SERVER_URLの代わりに使用します。https://gitlab.com
DUO_WORKFLOW_PROJECT_IDプロジェクトID:CI_PROJECT_IDと同じ値。77056053
DUO_WORKFLOW_NAMESPACE_IDネームスペースID。91555435
DUO_WORKFLOW_GOALフローをトリガーしたイシューのURL。https://gitlab.com/group/project/-/issues/10
DUO_WORKFLOW_DEFINITIONフロー定義識別子。developer/v1
DUO_WORKFLOW_SERVICE_REALMデプロイタイプ。saasまたはself-managed
DUO_WORKFLOW_GIT_HTTP_USERクローン作成用のGit HTTPユーザー名。oauth
DUO_WORKFLOW_GIT_HTTP_PASSWORDクローン作成用のGit HTTPパスワード。(OAuthトークン)
DUO_WORKFLOW_GIT_USER_NAMEフローをトリガーしたユーザーの名前。Gitコミッターとして使用されます。Jane Developer
DUO_WORKFLOW_GIT_USER_EMAILフローをトリガーしたユーザーのメール。Gitコミッターのメールとして使用されます。jdeveloper@example.com
DUO_WORKFLOW_GIT_AUTHOR_EMAILサービスアカウントのメール。Git作成者のメールとして使用されます。service_account_group_<ID>@noreply.gitlab.com
DUO_WORKFLOW_GIT_AUTHOR_USER_NAMEサービスアカウントの名前。Git作成者名として使用されます。Duo Developer
GITLAB_BASE_URLGitLabインスタンスのベースURL。DUO_WORKFLOW_GIT_HTTP_BASE_URLと同じ値。https://gitlab.com
GITLAB_PROJECT_PATH名前空間付きのプロジェクトのフルパス。CI_PROJECT_PATHと同じ値。my-group/my-project
GITLAB_TOKENGitLab APIアクセス用のOAuthトークン。DUO_WORKFLOW_GIT_HTTP_PASSWORDと同じ値。(OAuthトークン)
AGENT_PLATFORM_GITLAB_VERSIONフローを実行しているGitLabバージョン。18.9.0

利用不可

フローを実行するジョブでは、以下の変数は使用できません。

フィルターされた定義済み変数

以下の定義済みCI/CD変数は利用できません:

変数理由
CI_REGISTRYワークロード変数ゲートによってフィルタリングされます。ハードコードされたレジストリホスト名を使用してください。
CI_REGISTRY_IMAGEワークロード変数ゲートによってフィルタリングされます。ハードコードされたイメージパスを使用してください。
CI_SERVER_URLCI_SERVER_HOSTCI_API_V4_URLフィルタリング。代わりに、GITLAB_BASE_URLまたはDUO_WORKFLOW_GIT_HTTP_BASE_URLを使用してください。
CI_COMMIT_SHACI_COMMIT_BRANCHCI_COMMIT_REF_NAMEジョブにコミットコンテキストがありません。ソースブランチはGitLab Duoエージェントによって管理されます。
GITLAB_USER_LOGINGITLAB_USER_EMAILGITLAB_USER_NAMEこのジョブは、トリガーユーザーではなく、サービスアカウントとして実行されます。
CI_PIPELINE_SOURCECI_PIPELINE_IIDワークロード変数ゲートによってフィルタリングされます。

ユーザーID

フロー実行中に使用されるCIジョブトークンは、複合IDトークンであり、トリガーユーザーとサービスアカウントの両方を表します。

フロー実行中に作成されたGitコミットは、フローをトリガーしたユーザーによってコミットされますが、サービスアカウントによって作成されたものとしてマークされます。

サービスアカウントがフローを実行しているため、ユーザーではなく、GITLAB_USER_LOGINGITLAB_USER_EMAILの変数は使用できません。

ただし、フローをトリガーしたユーザーのIDはDUO_WORKFLOW_GIT_USER_EMAILDUO_WORKFLOW_GIT_USER_NAMEで使用でき、サービスアカウントのIDはDUO_WORKFLOW_GIT_AUTHOR_EMAILDUO_WORKFLOW_GIT_AUTHOR_USER_NAMEで使用できます。

カスタムCI/CD変数

設定 > CI/CD > 変数で定義されたプロジェクト、グループ、またはインスタンスのカスタムCI/CD変数は使用できません。

カスタムCI/CD変数には、保護された変数、保護されていない変数、マスクされた変数、およびファイル変数が含まれます。

すべてのフロー設定は、agent-config.ymlまたは利用可能な環境変数を介して提供する必要があります。

GitLabインスタンスURLへのアクセス

標準のCI_SERVER_URL変数は使用できません。代わりに、GITLAB_BASE_URLまたはDUO_WORKFLOW_GIT_HTTP_BASE_URLを使用してください。

たとえば、setup_scriptでAPIコールを行うには:

setup_script:
  - "curl --silent --header 'JOB-TOKEN: ${CI_JOB_TOKEN}' ${GITLAB_BASE_URL}/api/v4/projects/${CI_PROJECT_ID}"