【问题标题】:How to fix or avoid Error: Unable to process file command 'output' successfully?如何修复或避免错误:无法成功处理文件命令“输出”?
【发布时间】:2022-10-20 17:02:06
【问题描述】:

最近githubhas announced change那个echo "::set-output name=x::y"命令被弃用了,应该换成echo "x=y" >> $GITHUB_OUTPUT

上一个命令能够处理 b 的多行值,而新方法失败并出现以下错误

Error: Unable to process file command 'output' successfully.
Error: Invalid format

在我的脚本中,我使用应该发送到 slack 的消息文本填充变量 message。我需要输出变量将该文本传递给执行发送操作的下一个作业步骤。

message="Coverage: $(cat coverage.txt). Covered: $(cat covered.txt). Uncovered: $(cat uncovered.txt). Coverage required: $(cat coverageRequires.csv)"
      

消息的最后一部分包括一个csv 文件的上下文,该文件具有多行

虽然set-output 命令能够处理这样的多行参数

echo "::set-output name=text::$message"

新版本失败

echo "text=$message" >> $GITHUB_OUTPUT

可以做些什么来修复或避免此错误?

【问题讨论】:

    标签: github-actions


    【解决方案1】:

    我最终用命令替换了消息变量中的所有断线

    message=$(echo $message | tr '
    ' ' ')
    echo "text=$message" >> $GITHUB_OUTPUT
    

    这消除了错误。

    【讨论】:

      猜你喜欢
      • 2018-04-01
      • 2017-08-30
      • 1970-01-01
      • 2013-11-17
      • 1970-01-01
      • 2017-01-29
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      相关资源
      最近更新 更多