Компьютеры · Инструкция
Как записать многострочную переменную в GitHub Actions
Обычный `NAME=value` удобен только для одной строки. JSON, release notes или многострочный вывод команды лучше передават
Короткий ответ
Для многострочного значения используйте delimiter-синтаксис environment file и запишите блок в `$GITHUB_ENV`; переменная станет доступна следующим шагам job.
Что делать
- 1. Выберите уникальный delimiter: Используйте маркер, который не встретится отдельной строкой внутри значения.
- 2. Начните запись: Добавьте строку `NAME<<EOF` в `$GITHUB_ENV`.
- 3. Запишите данные: Следующими строками добавьте само значение и затем отдельную строку `EOF`.
- 4. Используйте позже: Обращайтесь к переменной уже в следующем step текущего job.
Для произвольных данных
Если содержимое может включать случайный delimiter, безопаснее записать данные в файл и передать путь, чем использовать фиксированный `EOF`.
Важно
Если delimiter может встретиться внутри произвольного вывода, используйте другой маркер или передавайте данные через файл.
Как понять, что всё сработало
- В следующем step переменная содержит все строки без потерянных переводов строки.
- Delimiter выбран так, чтобы отдельной строкой не встречаться внутри значения.
Что учитывать
Если delimiter может встретиться внутри произвольного вывода, используйте другой маркер или передавайте данные через файл.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Workflow commands for GitHub Actions). Пример и формулировки — редакция N1RO на 2026-09-18.