将对象作为变量传递给 Github 操作

时间:2021-04-11 21:21:31

标签: github github-actions

如何传递额外的对象类型变量? 当我尝试在 yaml 文件中执行此操作时出现错误:

Invalid type found: one of string , number , boolean were expected but an array was found


on: pull_request_review
name: Label approved pull requests
jobs:
  labelWhenApproved:
    name: Label when approved
    runs-on: ubuntu-latest
    steps:
    - name: Label when approved
      uses: ***
      env:
        APPROVALS:
          - value: "1"
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        ADD_LABEL: "approved"
        REMOVE_LABEL: "awaiting%20review"

1 个答案:

答案 0 :(得分:0)

env: 部分允许您将环境变量传递给操作。环境变量是键值。你不能传递对象。

来自 GitHub docs

<块引用>

map 个环境变量

在某些情况下,您可以“字符串化”整个对象并使用 toJSON() 将其作为环境变量传递,但操作本身应该“知道”如何处理它(例如从字符串中解析对象)

示例如何将所有秘密传递给操作:

  env:
    SECRETS: '${{ toJSON(secrets) }}'

注意:工作流中的不同级别可以有 env - 您可以将它们放在“全局”、作业或步骤(在您的情况下是步骤)