В этой статье перечислены поддерживаемые переменные, которые можно использовать в 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_ | Путь к расположению действия. Это свойство поддерживается только в составных действиях. Этот путь можно использовать для изменения каталогов, где находится действие, и получить доступ к другим файлам в том же репозитории. Например, /. |
GITHUB_ACTION_ | Для шага, в котором выполняется действие, это имя владельца и репозитория, где находится действие. Например, actions/checkout. |
GITHUB_ACTIONS | Всегда задано true значение при GitHub Actions запуске рабочего процесса. Эту переменную можно использовать для отличия при локальном выполнении тестов или с помощью GitHub Actions. |
GITHUB_ACTOR | Имя пользователя или приложения, инициирующего рабочий процесс. Например, octocat. |
GITHUB_ACTOR_ID | Идентификатор учетной записи пользователя или приложения, активировавшего начальное выполнение рабочего процесса. Например, 1234567. Обратите внимание, что это отличается от имени пользователя субъекта. |
GITHUB_API_URL | Возвращает URL-адрес API. Например: https:/. |
GITHUB_BASE_REF | Имя базовой ссылки или целевой ветки запроса на вытягивание в рабочем процессе. Это значение устанавливается только в том случае, если событием, запускающим рабочий процесс, является pull_request или pull_request_. Например, main. |
GITHUB_ENV | Путь к файлу, который задает переменные из команд рабочего процесса. Путь к этому файлу является уникальным для текущего шага и изменения для каждого шага в задании. Например, /. Дополнительные сведения см. в разделе Команды рабочего процесса для GitHub Actions. |
GITHUB_EVENT_NAME | Имя события, через которое был инициирован рабочий процесс. Например, workflow_dispatch. |
GITHUB_EVENT_PATH | В средстве выполнения это путь к файлу, в котором содержатся все полезные данные веб-перехватчика события. Например, /. |
GITHUB_GRAPHQL_ | Возвращает URL-адрес API GraphQL. Например: https:/. |
GITHUB_HEAD_REF | Начальная ссылка или исходная ветвь запроса на вытягивание в рабочем процессе. Это свойство задается только в том случае, если событием, запускающим рабочий процесс, является pull_request или pull_request_. Например, feature-branch-1. |
GITHUB_JOB | |
job_id текущего задания. Например, greeting_job. | |
GITHUB_OUTPUT | Путь к файлу, который задает выходные данные текущего шага из команд рабочих процессов. Путь к этому файлу является уникальным для текущего шага и изменения для каждого шага в задании. Например, /. Дополнительные сведения см. в разделе Команды рабочего процесса для GitHub Actions. |
GITHUB_PATH | Путь средства выполнения к файлу, который устанавливает системные переменные PATH из команд рабочего процесса. Путь к этому файлу является уникальным для текущего шага и изменения для каждого шага в задании. Например, /. Дополнительные сведения см. в разделе Команды рабочего процесса для GitHub Actions. |
GITHUB_REF | Полностью сформированный ссылку на ветвь или тег, активировавший выполнение рабочего процесса. Если рабочий процесс запущен по триггеру push, здесь указывается ссылка на отправленную ветвь или тег выпуска. Для рабочих процессов, которые pull_request не были объединены, это ветка слияния pull request. Если pull request был объединён, это ветка, в которую он был объединён. Если рабочий процесс запущен по триггеру release, здесь указывается созданный тег выпуска. Для всех остальных триггеров указывается ссылка на ветвь или тег, которые активировали запуск рабочего процесса. Это значение задается только для тех типов событий, в которых доступны ветвь или тег. Указанная ссылка полностью сформирована, что означает, что для ветвей имеется refs/формат. Для событий pull request, кроме pull_request_ тех случаев, которые не были объединены, это .refs/ |
pull_request_события имеют базовая ветвьref. Для тегов это refs/. Например, refs/. Для получения дополнительной информации о ветках слияния pull request см. Запросы на слияние. | |
GITHUB_REF_NAME | Короткое имя ссылки ветви или тега, активировав выполнение рабочего процесса. Это значение соответствует имени ветви или тега, отображаемого на GitHub. Например, feature-branch-1.Для pull-запросов, которые не были объединены, формат — <pr_number>/merge. |
GITHUB_REF_PROTECTED | true Значение , если защита ветви или наборы правил настроены для ссылки, которая активировала выполнение рабочего процесса. |
GITHUB_REF_TYPE | Тип ссылки, активировавшей выполнение рабочего процесса. Допустимые значения — branch или tag. |
GITHUB_REPOSITORY | Имя владельца и репозитория. Например, octocat/. |
GITHUB_REPOSITORY_ | Идентификатор репозитория. Например, 123456789. Обратите внимание, что это отличается от имени репозитория. |
GITHUB_REPOSITORY_ | Имя владельца репозитория. Например, octocat. |
GITHUB_REPOSITORY_ | Идентификатор учетной записи владельца репозитория. Например, 1234567. Обратите внимание, что это отличается от имени владельца. |
GITHUB_RETENTION_ | Количество дней, в течение которых рабочий процесс выполняет журналы и артефакты. Например, 90. |
GITHUB_RUN_ATTEMPT | Уникальное число для каждой попытки конкретного рабочего процесса, выполняемого в репозитории. Первая попытка обозначается номером 1, для всех последующих номер увеличивается. Например, 3. |
GITHUB_RUN_ID | |
Уникальный номер каждого запуска рабочего процесса в репозитории. Он не изменяется при повторном запуске рабочего процесса. Например, 1658821493. | |
GITHUB_RUN_NUMBER | |
Уникальный номер для каждого запуска определенного рабочего процесса в репозитории. Он начинается с цифры 1 для первого запуска рабочего процесса и увеличивается с каждым новым запуском. Он не изменяется при повторном запуске рабочего процесса. Например, 3. | |
GITHUB_SERVER_URL | URL-адрес GitHub сервера. Например: https:/. |
GITHUB_SHA | SHA фиксации, инициировавшей рабочий процесс. Значение этой фиксации SHA зависит от события, активирующего рабочий процесс. Дополнительные сведения см. в разделе События, инициирующие рабочие процессы. Например, ffac537e6cbbf934b08745a378932722df287a53. |
GITHUB_STEP_SUMMARY | Путь к файлу, который содержит сводки заданий из команд рабочего процесса. Путь к этому файлу является уникальным для текущего шага и изменения для каждого шага в задании. Например, /. Дополнительные сведения см. в разделе Команды рабочего процесса для GitHub Actions. |
GITHUB_TRIGGERING_ | Имя пользователя, запустившего экземпляр рабочего процесса. Если рабочий процесс выполняется повторно, это значение может отличаться от github.actor. В повторных запусках рабочих процессов будут использоваться привилегии github.actor, даже если субъект, инициировавший повторный запуск (github.triggering_actor), имеет другие привилегии. |
GITHUB_WORKFLOW | Имя рабочего процесса. Например, My test workflow. Если в файле рабочего процесса не указано свойство name, значением этой переменной является полный путь к файлу рабочего процесса в репозитории. |
GITHUB_WORKFLOW_ | Путь ссылки к рабочему процессу. Например, octocat/. |
GITHUB_WORKFLOW_ | Фиксация SHA для файла рабочего процесса. |
GITHUB_WORKSPACE | Рабочий каталог по умолчанию в средстве выполнения для шагов и расположение по умолчанию репозитория при использовании checkout действия. Например, /. |
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:\ |
Примечание.
Если необходимо использовать 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 переменных на среду. Общее совокупное ограничение размера для переменных организации и репозитория составляет 256 КБ на выполнение рабочего процесса.
Рабочий процесс, созданный в репозитории, может получить доступ к следующему количеству переменных:
- До 500 переменных репозитория, если общий размер переменных репозитория меньше 256 КБ. Если общий размер переменных репозитория превышает 256 КБ, будут доступны только переменные репозитория, которые падают ниже предела (как отсортированные по алфавиту по имени переменной).
- До 1000 переменных организации, если общий совокупный размер переменных репозитория и организации меньше 256 КБ. Если общий объединенный размер переменных организации и репозитория превышает 256 КБ, будут доступны только переменные организации, которые падают ниже этого предела (после учета переменных репозитория и сортировки по алфавиту по имени переменной).
- До 100 переменных уровня среды.
Примечание.
Переменные уровня среды не учитываются в 256 КБ общего размера. Если превышено совокупное ограничение размера для переменных репозитория и организации и все еще требуется дополнительная переменная, можно использовать среду и определить дополнительные переменные в среде.
Поддерживаемые контексты
Обычно используется либо env``github контекст для доступа к значениям переменных в частях рабочего процесса, обрабатываемых перед отправкой заданий в средства выполнения.
Предупреждение
Не печатайте github контекст в журналы. Он содержит конфиденциальную информацию.
| Контекст | Вариант использования | Пример |
|---|---|---|
env | Ссылка на пользовательские переменные, определенные в рабочем процессе. | ${{ env.MY_VARIABLE }} |
github | Справочная информация о запуске рабочего процесса и событии, которое инициировало запуск. | ${{ github.repository }} |