如何在 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
这里是我使用的演示,如果你想查看:
- Workflow file
- Shell script
- Workflow run 环境变量按预期工作。
我尝试为我们的存储库添加 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
这里是我使用的演示,如果你想查看:
- Workflow file
- Shell script
- Workflow run 环境变量按预期工作。