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

为何GitHub Actions创建的Release无法触发release工作流事件?

GitHub Action创建Release无法触发release事件工作流的原因及解决办法

问题场景

我配置了一个监听release事件created类型的Sync工作流:

name: "Sync"

on:
  release:
    types:
      - "created"

手动通过GitHub UI创建Release时,这个工作流能正常触发;但用git-release这类GitHub Action自动创建Release时,不管换成created还是published类型,工作流都无法触发。

原因

这是GitHub的默认规则:由GitHub Actions官方服务账户(github-actions[bot])发起的事件,不会触发其他工作流,目的是避免出现工作流循环触发的死循环问题(比如A工作流创建Release触发B工作流,B工作流又创建Release再触发A)。

解决方法

要让Action创建的Release能触发后续工作流,需要在创建Release的工作流(即你的release.yml)中,使用带有workflow权限的令牌来替代默认的GITHUB_TOKEN:

  1. 生成一个具备workflow权限的个人访问令牌(PAT):在GitHub账户的「Settings」→「Developer settings」→「Personal access tokens」里创建,勾选workflow权限。
  2. 将生成的PAT添加到仓库的Secrets中,命名为比如PAT_WITH_WORKFLOW。
  3. 在调用git-release Action时,指定使用这个PAT:
    - name: 自动创建Release
      uses: <你的git-release-action路径>
      env:
        GITHUB_TOKEN: ${{ secrets.PAT_WITH_WORKFLOW }}
      with:
        # 这里填git-release需要的参数,比如tag名称、Release描述等
        tag_name: v1.0.0
        release_name: Release v1.0.0
    

默认的GITHUB_TOKEN没有触发其他工作流的权限,必须使用拥有workflow权限的PAT才能绕过这个限制。

内容的提问来源于stack exchange,提问作者Paul Razvan Berg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:17:20