Javascript Github操作:将环境变量设置为格式化的命令输出
我正试图用命令行程序的帮助文本和Github操作更新我的自述文件。我有一个脚本main.js,它生成以下输出:Javascript Github操作:将环境变量设置为格式化的命令输出,javascript,github,environment-variables,github-actions,Javascript,Github,Environment Variables,Github Actions,我正试图用命令行程序的帮助文本和Github操作更新我的自述文件。我有一个脚本main.js,它生成以下输出: >> node main.js -h Generate README from template Main options -i, --input-file-name string -o, --output-file-name string -k, --keys string[] -v, --values string[] -h, --help 现
>> node main.js -h
Generate README from template
Main options
-i, --input-file-name string
-o, --output-file-name string
-k, --keys string[]
-v, --values string[]
-h, --help
现在,我试图在Github操作中设置一个环境变量,但打印出来时,却丢失了换行符。以下是my.github/workflows/main.yml:
名称:测试操作
on:[推]
工作:
测试:
运行于:ubuntu最新版本
步骤:
-姓名:结帐
用途:行动/checkout@v2
-名称:安装节点
用途:操作/设置-node@v1
与:
节点版本:12.x
-名称:获取帮助文本
运行:|
echo::set env name=HELP\u TEXT::$(node main.js-h)
-名称:打印帮助_文本
运行:|
回显“$HELP_TEXT”
-名称:REGENATE README.md
用途:/
与:
关键:帮助
值:${env.HELP_TEXT}
“打印帮助_文本”步骤产生以下输出(注意换行符丢失):
请注意,测试
作业的最后一步是运行更新自述文件内容的代码;它看到的输入与“打印帮助文本”步骤的输出相同
是否有某种方法可以存储环境变量以保留格式?在尝试将文件内容用作发布正文时遇到类似问题,解决方法如下:
-运行:|
正文=$(cat NEWS.md)
body=“${body/'%'/'%25'}”
body=“${body/$'\n'/'%0A'}”
body=“${body/$'\r'/'%0D'}”
echo:::set env name=MOD_RELEASE_BODY::$BODY”
shell:bash
Bash magick将确保换行符正确存储,使env变量可用作操作参数。如果您双引号引用命令替换,
“$(node main.js-h)”
?不引用它会导致分词,这会将换行符替换为空格。我尝试过这样做,但最终没有将命令结果存储在HELP\u TEXT
变量中。
Generate README from template Main options -i, --input-file-name string -o, --output-file-name string -k, --keys string[] -v, --values string[] -h, --help