下面是给定工作流的.yml文件:
name: Deploy to Fly.io
'on':
push:
branches:
- development # remove this once everything finalized
- production
paths: ["server-v2/**"]
defaults:
run:
working-directory: server-v2
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
jobs:
deploy:
name: Deploy app
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: superfly/flyctl-actions/setup-flyctl@master
- run: flyctl deploy --remote-only
send_notification:
needs: deploy
name: Send SMS Notification
runs-on: ubuntu-latest
env:
MESSAGE: "✅ GitHub Action ✅\n\nName: Deploy to Fly.io\nStatus: Complete\n\nAPI is live at:\nhttps://ammarahmedca.fly.dev"
steps:
- uses: twilio-labs/actions-sms@v1
with:
fromPhoneNumber: ${{ secrets.TWILIO_PHONE_NUMBER }}
toPhoneNumber: ${{ secrets.MY_PHONE_NUMBER }}
message: ${{ env.MESSAGE }}
env:
TWILIO_ACCOUNT_SID: ${{ secrets.TWILIO_ACCOUNT_SID }}
TWILIO_API_KEY: ${{ secrets.TWILIO_API_KEY }}
TWILIO_API_SECRET: ${{ secrets.TWILIO_API_SECRET }}它运行部署操作,然后发送给我一条短信,通知我它的完成。我希望将值嵌入到MESSAGE变量中,例如工作流名称,以及调用或完成工作流的日期/时间。但是,添加env变量会引发错误。在这样做的时候:
env:
MESSAGE: "✅ GitHub Action ✅\n\nName: ${{ env.GITHUB_WORKFLOW }}\nStatus: Complete\n\nAPI is live at:\nhttps://ammarahmedca.fly.dev"将引发此错误:
Invalid workflow file: .github/workflows/twillio-test.yml#L10
The workflow is not valid. .github/workflows/twillio-test.yml (Line: 10, Col: 16): Unrecognized named-value: 'env'. Located at position 1 within expression: env.GITHUB_WORKFLOWAFAIK,env.GITHUB_WORKFLOW应该是包含所有工作流的默认环境变量,所以我不知道为什么它会抛出错误。
在任何情况下,我都希望将值添加到我用Twilio发送的消息中,更具体地说,就是工作流的名称和调用它的日期/时间。我找不到有关Twilio GitHub动作的任何文档。我从Twilio的一篇简短的博客文章中了解了如何做到这一点。
发布于 2022-11-12 10:11:31
您是对的,它是一个包含所有工作流的默认环境变量,但它不在env中,而是在github:https://docs.github.com/en/actions/learn-github-actions/contexts#github-context中
通过将GitHub工作流名称引用为${{ github.workflow }},可以获得它的工作流名。
https://stackoverflow.com/questions/74411331
复制相似问题