You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Twilio SMS GitHub Action嵌入工作流名称等动态值?

解决GitHub Actions中Twilio通知消息嵌入工作流信息的报错问题

问题原因

在env块里写${{ env.GITHUB_WORKFLOW }}是错误用法——GitHub Actions的规则里,env定义层级中不能通过env.引用GitHub内置变量,这些变量属于github上下文,得直接用github前缀访问。

解决方案

修改send_notification任务的MESSAGE定义,直接用github上下文变量获取工作流名称、执行时间等信息,完整配置示例如下:

send_notification:
  needs: deploy
  name: Send SMS Notification
  runs-on: ubuntu-latest
  env:
     MESSAGE: "✅ GitHub Action ✅\n\nName: ${{ github.workflow }}\nStatus: Complete\n触发时间: ${{ github.run_started_at }}\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 }}

额外说明

  • 工作流名称:${{ github.workflow }}直接对应你在工作流顶部定义的name: Deploy to Fly.io
  • 执行时间优化:github.run_started_at返回的是UTC格式时间(比如2024-05-20T12:34:56Z),如果需要更易读的格式,可以加一步格式化时间的操作:
    send_notification:
      needs: deploy
      name: Send SMS Notification
      runs-on: ubuntu-latest
      steps:
        - name: 格式化触发时间
          run: echo "FORMATTED_TIME=$(date -d "${{ github.run_started_at }}" '+%Y-%m-%d %H:%M:%S')" >> $GITHUB_ENV
        - uses: twilio-labs/actions-sms@v1
          with:
            fromPhoneNumber: ${{ secrets.TWILIO_PHONE_NUMBER }}
            toPhoneNumber: ${{ secrets.MY_PHONE_NUMBER }}
            message: "✅ GitHub Action ✅\n\nName: ${{ github.workflow }}\nStatus: Complete\n触发时间: ${{ env.FORMATTED_TIME }}\n\nAPI is live at:\nhttps://ammarahmedca.fly.dev"
          env:
            TWILIO_ACCOUNT_SID: ${{ secrets.TWILIO_ACCOUNT_SID }}
            TWILIO_API_KEY: ${{ secrets.TWILIO_API_KEY }}
            TWILIO_API_SECRET: ${{ secrets.TWILIO_API_SECRET }}
    
  • 核心规则:GitHub内置上下文变量直接用github.xxx访问,只有你自己定义的环境变量才用env.xxx引用。

内容的提问来源于stack exchange,提问作者Ammar Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 10:40:46