Skip to main content

Справочник по переменным

Сведения о поддерживаемых переменных, соглашениях об именовании, ограничениях и контекстах в GitHub Actions рабочих процессах.

В этой статье перечислены поддерживаемые переменные, которые можно использовать в GitHub Actions рабочих процессах, включая переменные среды, переменные конфигурации и переменные по умолчанию, предоставляемые GitHub. Используйте эту ссылку для поиска имен переменных, соглашений об именовании, ограничениях и поддерживаемых контекстах при настройке рабочих процессов.

Дополнительные сведения о переменных см. в разделе Переменные.

Переменные среды по умолчанию

Переменные GitHub среды по умолчанию доступны для каждого шага рабочего процесса.

Так как переменные среды по умолчанию задаются GitHub и не определены в рабочем процессе, они недоступны через env контекст. Однако большинство переменных по умолчанию имеют соответствующее и аналогично именованное свойство контекста. Например, значение переменной GITHUB_REF можно считывать во время обработки рабочего процесса с помощью свойства контекста$.

Нельзя перезаписать значение переменных среды по умолчанию с именем GITHUB_* и RUNNER_*. В настоящее время можно перезаписать значение переменной CI . Однако это не гарантируется, что это всегда будет возможно. Дополнительные сведения о настройке переменных среды см. в разделе Хранение сведений в переменных и Команды рабочего процесса для GitHub Actions.

Настоятельно рекомендуется использовать переменные для доступа к файловой системе, а не использовать жесткие пути к файлам. GitHub задает переменные для действий, используемых во всех средах запуска.

«Переменная»Description
CIВсегда имеет значение true.
GITHUB_ACTIONИмя выполняемого в настоящий момент действия или параметр id шага. Например, для действия — __repo-owner_name-of-action-repo.

GitHubудаляет специальные символы и использует имя__run, когда текущий шаг запускает скрипт без .id При использовании одного сценария или действия несколько раз в одном задании имя будет включать суффикс, состоящий из порядкового номера перед символом подчеркивания. Например, первый сценарий, который вы запустите, будет иметь имя __run, а второй сценарий будет называться __run_2. Аналогично второй вызов actions/checkout будет называться actionscheckout2.
GITHUB_ACTION_PATHПуть к расположению действия. Это свойство поддерживается только в составных действиях. Этот путь можно использовать для изменения каталогов, где находится действие, и получить доступ к другим файлам в том же репозитории. Например, /home/runner/work/_actions/repo-owner/name-of-action-repo/v1.
GITHUB_ACTION_REPOSITORYДля шага, в котором выполняется действие, это имя владельца и репозитория, где находится действие. Например, actions/checkout.
GITHUB_ACTIONSВсегда задано true значение при GitHub Actions запуске рабочего процесса. Эту переменную можно использовать для отличия при локальном выполнении тестов или с помощью GitHub Actions.
GITHUB_ACTORИмя пользователя или приложения, инициирующего рабочий процесс. Например, octocat.
GITHUB_ACTOR_IDИдентификатор учетной записи пользователя или приложения, активировавшего начальное выполнение рабочего процесса. Например, 1234567. Обратите внимание, что это отличается от имени пользователя субъекта.
GITHUB_API_URLВозвращает URL-адрес API. Например: http(s)://HOSTNAME/api/v3.
GITHUB_BASE_REFИмя базовой ссылки или целевой ветки запроса на вытягивание в рабочем процессе. Это значение устанавливается только в том случае, если событием, запускающим рабочий процесс, является pull_request или pull_request_target. Например, main.
GITHUB_ENVПуть к файлу, который задает переменные из команд рабочего процесса. Путь к этому файлу является уникальным для текущего шага и изменения для каждого шага в задании. Например, /home/runner/work/_temp/_runner_file_commands/set_env_87406d6e-4979-4d42-98e1-3dab1f48b13a. Дополнительные сведения см. в разделе Команды рабочего процесса для GitHub Actions.
GITHUB_EVENT_NAMEИмя события, через которое был инициирован рабочий процесс. Например, workflow_dispatch.
GITHUB_EVENT_PATHВ средстве выполнения это путь к файлу, в котором содержатся все полезные данные веб-перехватчика события. Например, /github/workflow/event.json.
GITHUB_GRAPHQL_URLВозвращает URL-адрес API GraphQL. Например: http(s)://HOSTNAME/api/graphql.
GITHUB_HEAD_REFНачальная ссылка или исходная ветвь запроса на вытягивание в рабочем процессе. Это свойство задается только в том случае, если событием, запускающим рабочий процесс, является pull_request или pull_request_target. Например, feature-branch-1.
GITHUB_JOB
job_id текущего задания. Например, greeting_job.
GITHUB_OUTPUTПуть к файлу, который задает выходные данные текущего шага из команд рабочих процессов. Путь к этому файлу является уникальным для текущего шага и изменения для каждого шага в задании. Например, /home/runner/work/_temp/_runner_file_commands/set_output_a50ef383-b063-46d9-9157-57953fc9f3f0. Дополнительные сведения см. в разделе Команды рабочего процесса для GitHub Actions.
GITHUB_PATHПуть средства выполнения к файлу, который устанавливает системные переменные PATH из команд рабочего процесса. Путь к этому файлу является уникальным для текущего шага и изменения для каждого шага в задании. Например, /home/runner/work/_temp/_runner_file_commands/add_path_899b9445-ad4a-400c-aa89-249f18632cf5. Дополнительные сведения см. в разделе Команды рабочего процесса для GitHub Actions.
GITHUB_REFПолностью сформированный ссылку на ветвь или тег, активировавший выполнение рабочего процесса. Если рабочий процесс запущен по триггеру push, здесь указывается ссылка на отправленную ветвь или тег выпуска. Для рабочих процессов, которые pull_request не были объединены, это ветка слияния pull request. Если pull request был объединён, это ветка, в которую он был объединён. Если рабочий процесс запущен по триггеру release, здесь указывается созданный тег выпуска. Для всех остальных триггеров указывается ссылка на ветвь или тег, которые активировали запуск рабочего процесса. Это значение задается только для тех типов событий, в которых доступны ветвь или тег. Указанная ссылка полностью сформирована, что означает, что для ветвей имеется refs/heads/<branch_name>формат. Для событий pull request, кроме pull_request_target тех случаев, которые не были объединены, это .refs/pull/<pr_number>/merge
pull_request_targetсобытия имеют базовая ветвьref. Для тегов это refs/tags/<tag_name>. Например, refs/heads/feature-branch-1. Для получения дополнительной информации о ветках слияния pull request см. Запросы на слияние.
GITHUB_REF_NAMEКороткое имя ссылки ветви или тега, активировав выполнение рабочего процесса. Это значение соответствует имени ветви или тега, отображаемого на GitHub. Например, feature-branch-1.

Для pull-запросов, которые не были объединены, формат — <pr_number>/merge.
GITHUB_REF_PROTECTEDtrue Значение , если защита ветви настроены для ссылки, которая активировала выполнение рабочего процесса.
GITHUB_REF_TYPEТип ссылки, активировавшей выполнение рабочего процесса. Допустимые значения — branch или tag.
GITHUB_REPOSITORYИмя владельца и репозитория. Например, octocat/Hello-World.
GITHUB_REPOSITORY_IDИдентификатор репозитория. Например, 123456789. Обратите внимание, что это отличается от имени репозитория.
GITHUB_REPOSITORY_OWNERИмя владельца репозитория. Например, octocat.
GITHUB_REPOSITORY_OWNER_IDИдентификатор учетной записи владельца репозитория. Например, 1234567. Обратите внимание, что это отличается от имени владельца.
GITHUB_RETENTION_DAYSКоличество дней, в течение которых рабочий процесс выполняет журналы и артефакты. Например, 90.
GITHUB_RUN_ATTEMPTУникальное число для каждой попытки конкретного рабочего процесса, выполняемого в репозитории. Первая попытка обозначается номером 1, для всех последующих номер увеличивается. Например, 3.
GITHUB_RUN_ID
Уникальный номер каждого запуска рабочего процесса в репозитории. Он не изменяется при повторном запуске рабочего процесса. Например, 1658821493.
GITHUB_RUN_NUMBER
Уникальный номер для каждого запуска определенного рабочего процесса в репозитории. Он начинается с цифры 1 для первого запуска рабочего процесса и увеличивается с каждым новым запуском. Он не изменяется при повторном запуске рабочего процесса. Например, 3.
GITHUB_SERVER_URLURL-адрес GitHub сервера. Например: https://HOSTNAME.
GITHUB_SHASHA фиксации, инициировавшей рабочий процесс. Значение этой фиксации SHA зависит от события, активирующего рабочий процесс. Дополнительные сведения см. в разделе События, инициирующие рабочие процессы. Например, ffac537e6cbbf934b08745a378932722df287a53.
GITHUB_STEP_SUMMARYПуть к файлу, который содержит сводки заданий из команд рабочего процесса. Путь к этому файлу является уникальным для текущего шага и изменения для каждого шага в задании. Например, /home/runner/_layout/_work/_temp/_runner_file_commands/step_summary_1cb22d7f-5663-41a8-9ffc-13472605c76c. Дополнительные сведения см. в разделе Команды рабочего процесса для GitHub Actions.
GITHUB_TRIGGERING_ACTORИмя пользователя, запустившего экземпляр рабочего процесса. Если рабочий процесс выполняется повторно, это значение может отличаться от github.actor. В повторных запусках рабочих процессов будут использоваться привилегии github.actor, даже если субъект, инициировавший повторный запуск (github.triggering_actor), имеет другие привилегии.
GITHUB_WORKFLOWИмя рабочего процесса. Например, My test workflow. Если в файле рабочего процесса не указано свойство name, значением этой переменной является полный путь к файлу рабочего процесса в репозитории.
GITHUB_WORKFLOW_REFПуть ссылки к рабочему процессу. Например, octocat/hello-world/.github/workflows/my-workflow.yml@refs/heads/my_branch.
GITHUB_WORKFLOW_SHAФиксация SHA для файла рабочего процесса.
GITHUB_WORKSPACEРабочий каталог по умолчанию в средстве выполнения для шагов и расположение по умолчанию репозитория при использовании checkout действия. Например, /home/runner/work/my-repo-name/my-repo-name.
RUNNER_ARCHАрхитектура средства выполнения задания. Возможные значения: X86, X64, ARM или ARM64.
RUNNER_DEBUGЭто делается только в том случае, если ведение журнала отладки включено и всегда имеет значение 1. Это может быть полезно в качестве индикатора для включения дополнительной отладки или подробного ведения журнала в ваших шагах задания.
RUNNER_ENVIRONMENTСреда выполнения задания. Возможные значения: github-hosted для управляемых GitHub средств выполнения, предоставляемых GitHub, а self-hosted также для локальных модулей выполнения, настроенных владельцем репозитория.
RUNNER_NAME
Имя средства выполнения задания. Это имя может не быть уникальным в рабочем процессе, выполняемом в качестве средств выполнения на уровне репозитория и организации, может использовать то же имя. Например Hosted Agent
RUNNER_OS
Операционная система средства выполнения тестов, выполняющего задание. Возможные значения: Linux, Windowsили macOS. Например Windows
RUNNER_TEMP
Путь к временному каталогу в средстве выполнения. Этот каталог очищается в начале и конце каждого задания. Обратите внимание, что файлы не удаляются, если у учетной записи пользователя средства выполнения нет разрешения на их удаление. Например D:\a\_temp
RUNNER_TOOL_CACHE
Путь к каталогу, содержащему предварительно установленные средства для GitHubразмещенных средств выполнения. Дополнительные сведения см. в разделе Средства выполнения тестов, размещенные в GitHub. Например C:\hostedtoolcache\windows

Примечание.

Если необходимо использовать URL-адрес запуска рабочего процесса из задания, можно объединить следующие переменные: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID

Соглашения об именовании для переменных конфигурации

Следующие правила применяются к именам переменных конфигурации:

  • Может содержать только буквенно-цифровые символы ([a-z], [A-Z], [0-9]) или символы подчеркивания (_). Пробелы недопустимы.
  • не должно начинаться с префикса GITHUB_;
  • не должно начинаться с цифры.
  • Не учитывается регистр при ссылке. GitHub сохраняет имена секретов в виде верхнего регистра независимо от того, как они введены.
  • Должен быть уникальным для репозитория, организации или предприятия, где они создаются.

Соглашения об именовании для переменных среды

При установке переменной среды нельзя использовать какие-либо имена переменных среды по умолчанию. Полный список переменных среды по умолчанию см. в разделе Справочник по переменным ниже. Если вы пытаетесь переопределить значение одной из этих переменных по умолчанию, назначение игнорируется.

Примечание.

Вы можете перечислить весь набор переменных среды, доступных шагу рабочего процесса, используя run: env на шаге, а затем проверив выходные данные для шага.

Приоритет переменной конфигурации

Если переменная с одинаковым именем существует на нескольких уровнях, переменная на самом низком уровне имеет приоритет. Например, если переменная уровня организации имеет то же имя, что и переменная уровня репозитория, то переменная уровня репозитория имеет приоритет. Аналогичным образом, если у организации, репозитория и среды есть переменная с одинаковым именем, переменная уровня среды имеет приоритет.

Примечание.

Переменные уровня среды доступны в средстве выполнения только после начала выполнения задания. Это означает, что переменные уровня среды не будут перезаписывать переменные в контекстах and env``vars .

Для повторно используемых рабочих процессов используются переменные из репозитория вызывающего рабочего процесса. Переменные из репозитория, содержащего вызывающий рабочий процесс, недоступны для вызывающего рабочего процесса.

Ограничения для переменных конфигурации

Отдельные переменные ограничены размером 48 КБ.

Вы можете хранить до 1000 переменных организации, 500 переменных на каждый репозиторий и 100 переменных на среду. Общее совокупное ограничение размера для переменных организации и репозитория составляет 10 МБ на выполнение рабочего процесса.

Рабочий процесс, созданный в репозитории, может получить доступ к следующему количеству переменных:

  • До 500 переменных репозитория, если общий размер переменных репозитория меньше 10 МБ. Если общий размер переменных репозитория превышает 10 МБ, будут доступны только переменные репозитория, которые падают ниже предела (как отсортированные по алфавиту по имени переменной).
  • До 1000 переменных организации, если общий совокупный размер переменных репозитория и организации меньше 10 МБ. Если общий совокупный размер переменных организации и репозитория превышает 10 МБ, будут доступны только переменные организации, которые падают ниже этого предела (после учета переменных репозитория и отсортированных по алфавиту по имени переменной).
  • До 100 переменных уровня среды.

Примечание.

Переменные уровня среды не учитываются в 10 МБ общего размера. Если превышено совокупное ограничение размера для переменных репозитория и организации и все еще требуется дополнительная переменная, можно использовать среду и определить дополнительные переменные в среде.

Поддерживаемые контексты

Обычно используется либо env``github контекст для доступа к значениям переменных в частях рабочего процесса, обрабатываемых перед отправкой заданий в средства выполнения.

Предупреждение

Не печатайте github контекст в журналы. Он содержит конфиденциальную информацию.

КонтекстВариант использованияПример
envСсылка на пользовательские переменные, определенные в рабочем процессе.${{ env.MY_VARIABLE }}
githubСправочная информация о запуске рабочего процесса и событии, которое инициировало запуск.${{ github.repository }}