ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。
GitHub AEは、現在限定リリース中です。詳細については営業チームにお問い合わせください。

Environment variables

GitHub sets default environment variables for each GitHub Actions workflow run. You can also set custom environment variables in your workflow file.

ノート: GitHub Actionsは現在GitHub AEでベータです。

About environment variables

GitHub sets default environment variables that are available to every step in a workflow run. Environment variables are case-sensitive. Commands run in actions or steps can create, read, and modify environment variables.

To set custom environment variables, you need to specify the variables in the workflow file. You can define environment variables for a step, job, or entire workflow using the jobs.<job_id>.steps[*].env, jobs.<job_id>.env, and env keywords. For more information, see "Workflow syntax for GitHub."

jobs:
  weekday_job:
    runs-on: ubuntu-latest
    env:
      DAY_OF_WEEK: Mon
    steps:
      - name: "Hello world when it's Monday"
        if: ${{ env.DAY_OF_WEEK == 'Mon' }}
        run: echo "Hello $FIRST_NAME $middle_name $Last_Name, today is Monday!"
        env:
          FIRST_NAME: Mona
          middle_name: The
          Last_Name: Octocat

To use the value of an environment variable in a workflow file, you should use the env context. If you want to use the value of an environment variable inside a runner, you can use the runner operating system's normal method for reading environment variables.

If you use the workflow file's run key to read environment variables from within the runner operating system (as shown in the example above), the variable is substituted in the runner operating system after the job is sent to the runner. For other parts of a workflow file, you must use the env context to read environment variables; this is because workflow keys (such as if) require the variable to be substituted during workflow processing before it is sent to the runner.

You can also use the GITHUB_ENV environment file to set an environment variable that the following steps in a job can use. The environment file can be used directly by an action or as a shell command in a workflow file using the run keyword. For more information, see "Workflow commands for GitHub Actions."

Default environment variables

We strongly recommend that actions use environment variables to access the filesystem rather than using hardcoded file paths. GitHub sets environment variables for actions to use in all runner environments.

Environment variableDescription
CIAlways set to true.
GITHUB_WORKFLOWThe name of the workflow.
GITHUB_RUN_IDリポジトリ内でユニークな各実行に対する番号。 この番号は、ワークフローの実行をやり直しても変化しません、
GITHUB_RUN_NUMBERリポジトリ内の特定のワークフローの各実行に対するユニークな番号。 この番号は、ワークフローの最初の実行時に1で始まり、新たな実行ごとにインクリメントされます。 この番号は、ワークフローの実行をやり直しても変化しません、
GITHUB_JOBThe job_id of the current job.
GITHUB_ACTIONThe unique identifier (id) of the action.
GITHUB_ACTION_PATHThe path where your action is located. You can use this path to access files located in the same repository as your action. This variable is only supported in composite actions.
GITHUB_ACTIONSAlways set to true when GitHub Actions is running the workflow. You can use this variable to differentiate when tests are being run locally or by GitHub Actions.
GITHUB_ACTORThe name of the person or app that initiated the workflow. For example, octocat.
GITHUB_REPOSITORYThe owner and repository name. For example, octocat/Hello-World.
GITHUB_EVENT_NAMEThe name of the webhook event that triggered the workflow.
GITHUB_EVENT_PATHThe path of the file with the complete webhook event payload. For example, /github/workflow/event.json.
GITHUB_WORKSPACEThe GitHub workspace directory path, initially empty. For example, /home/runner/work/my-repo-name/my-repo-name. The actions/checkout action will check out files, by default a copy of your repository, within this directory.
GITHUB_SHAThe commit SHA that triggered the workflow. For example, ffac537e6cbbf934b08745a378932722df287a53.
GITHUB_REFThe branch or tag ref that triggered the workflow. For example, refs/heads/feature-branch-1. If neither a branch or tag is available for the event type, the variable will not exist.
GITHUB_HEAD_REFOnly set for pull request events. The name of the head branch.
GITHUB_BASE_REFOnly set for pull request events. The name of the base branch.
GITHUB_SERVER_URLReturns the URL of the GitHub AE server. For example: https://[hostname].
GITHUB_API_URLReturns the API URL. For example: https://[hostname]/api/v3.
GITHUB_GRAPHQL_URLReturns the GraphQL API URL. For example: https://api.[hostname]/graphql.
RUNNER_NAMEThe name of the runner executing the job.
RUNNER_OSジョブを実行しているランナーのオペレーティングシステム。 取り得る値はLinuxWindowsmacOSのいずれか。
RUNNER_TEMPランナー上の一時ディレクトリへのパス。 このディレクトリは、各ジョブの開始及び終了時点で空になります。 ランナーのユーザアカウントが削除する権限を持っていない場合、ファイルは削除されないことに注意してください。

Note: If you need to use a workflow run's URL from within a job, you can combine these environment variables: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID

Determining when to use default environment variables or contexts

GitHub Actionsは、コンテキストと呼ばれる変数の集合と、デフォルトの環境変数と呼ばれる同様の変数の集合を含みます。 これらの変数は、ワークフロー中の様々な場所で利用されることを意図したものです。

  • デフォルトの環境変数: これらの変数は、ジョブを実行しているランナー上にのみ存在します。 詳しい情報については、「デフォルトの環境変数」を参照してください。
  • コンテキスト: ほとんどのコンテキストはワークフローの任意の場所で利用できます。これは、デフォルトの環境変数が利用できない場所も含みます。 たとえば、式の付いたコンテキストを使って、ジョブが実行のためにランナーにまわされる前に初期の処理を行うことができます。これによって、ステップを実行すべきかを判断するために条件のifキーワード付きのコンテキストが利用できるようになります。 ジョブが実行されると、runner.osといったように、コンテキスト変数をジョブを実行しているランナーから取り出すこともできます。 ワークフロー中で様々なコンテキストが利用できる場所の詳細については「コンテキストが利用できるところ」を参照してください。

以下の例は、様々な種類の環境変数をジョブの中で合わせて利用できることを示しています。

name: CI
on: push
jobs:
  prod-check:
    if: ${{ github.ref == 'refs/heads/main' }}
    runs-on: ubuntu-latest
    steps:
      - run: echo "Deploying to production server on branch $GITHUB_REF"

この例では、if文がgithub.refコンテキストをチェックして現在のブランチ名を判断しています。その名前がrefs/heads/mainであれば、以降のステップが実行されます。 このifチェックがGitHub Actionsで処理されたなら、その結果がtrueの場合にのみジョブがランナーに送信されます。 ジョブがランナーに送信されると、ステップが実行され、環境変数の$GITHUB_REFをランナーから参照します。

Naming conventions for environment variables

When you set a custom environment variable, you cannot use any of the default environment variable names listed above with the prefix GITHUB_. If you attempt to override the value of one of these default environment variables, the assignment is ignored.

Any new environment variables you set that point to a location on the filesystem should have a _PATH suffix. The HOME and GITHUB_WORKSPACE default variables are exceptions to this convention because the words "home" and "workspace" already imply a location.

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?