如何在 Github 操作中访问在外部 bash 脚本中设置的环境变量?

How can I access environment variable set in external bash script in Github Actions?

我尝试为我们的存储库添加 Jira 票证验证,并决定使用 Github 操作。

我有一个外部 bash 脚本,如果在环境变量中找到 Jira 票证,我会一步 运行 设置结果。

我还有一个步骤试图访问这个环境变量,fail/success 结果的流程。

但是,我似乎无法让它工作,我没有看到 bash 脚本中配置的新环境变量。

一些代码:

script.sh:

...
echo "jira_ticket_exists=false" >> "$GITHUB_ENV"
...

Github 操作步骤:

    - name: choose to reject or not
    id: jira_ticket_reject
    continue-on-error: true
    run: |
      env # searched for it also here - it doesn't exist.
      echo ${{ env.jira_ticket_exists }} # this returns nothing
      if [ ${{ env.jira_ticket_exists }} == "true" ]; then
        echo "Jira ticket found"
        exit 0
      else
        echo "Jira ticket not found"
        exit 1
      fi

知道我做错了什么吗?

谢谢

我在这里测试了同样的东西,问题似乎与你在 $GITHUB_ENV.

中使用的双引号有关

在您的 shell 脚本中,而不是:

echo "jira_ticket_exists=false" >> "$GITHUB_ENV"

你应该使用:

echo "jira_ticket_exists=false" >> $GITHUB_ENV


这里是我使用的演示,如果你想查看: