n1ro°
RU

Компьютеры · Инструкция

Как записать многострочную переменную в GitHub Actions

Обычный `NAME=value` удобен только для одной строки. JSON, release notes или многострочный вывод команды лучше передават

Редакция N1RO · Проверено

Короткий ответ

Для многострочного значения используйте delimiter-синтаксис environment file и запишите блок в `$GITHUB_ENV`; переменная станет доступна следующим шагам job.

Что делать

  1. 1. Выберите уникальный delimiter: Используйте маркер, который не встретится отдельной строкой внутри значения.
  2. 2. Начните запись: Добавьте строку `NAME<<EOF` в `$GITHUB_ENV`.
  3. 3. Запишите данные: Следующими строками добавьте само значение и затем отдельную строку `EOF`.
  4. 4. Используйте позже: Обращайтесь к переменной уже в следующем step текущего job.

Для произвольных данных

Если содержимое может включать случайный delimiter, безопаснее записать данные в файл и передать путь, чем использовать фиксированный `EOF`.

Важно

Если delimiter может встретиться внутри произвольного вывода, используйте другой маркер или передавайте данные через файл.

Как понять, что всё сработало

  • В следующем step переменная содержит все строки без потерянных переводов строки.
  • Delimiter выбран так, чтобы отдельной строкой не встречаться внутри значения.

Что учитывать

Если delimiter может встретиться внутри произвольного вывода, используйте другой маркер или передавайте данные через файл.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Workflow commands for GitHub Actions). Пример и формулировки — редакция N1RO на 2026-09-18.