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

GitHub Actions 其他Workflow创建的PR无法触发pull_request工作流

根因

这是GitHub Actions的默认安全机制导致的:
当工作流使用内置的GITHUB_TOKEN作为凭证执行操作(比如自动创建PR)时,该操作产生的事件不会触发其他配置了on: pull_request触发规则的工作流。这个限制的初衷是避免工作流出现无限递归调用——比如自动创建PR触发测试,测试流程又自动提交代码创建新PR,无限循环消耗Actions运行额度。
手动创建PR、手动关闭重开自动生成的PR时,操作的发起凭证是你的个人账号身份,不属于GITHUB_TOKEN触发的操作范畴,因此可以正常触发第二个测试工作流。

修复方案

你可以根据自己的场景选下面任意一种方案:

  • 方案1:使用个人访问令牌(PAT)替代默认GITHUB_TOKEN执行创建PR操作
    先生成一个具备仓库PR读写、内容编辑权限的个人访问令牌,将其存入仓库的Secrets配置中(例如命名为REPO_PAT)。修改第一个自动创建PR的工作流,在调用创建PR的动作时,将传入的token参数从默认的${{ secrets.GITHUB_TOKEN }}替换为${{ secrets.REPO_PAT }}即可。使用PAT发起的PR操作会被判定为普通用户身份触发,能够正常拉起pull_request类型的工作流,是最推荐的常规修复方式。
  • 方案2:将测试工作流的触发规则改为pull_request_target
    把第二个工作流的触发配置从on: pull_request调整为on: pull_request_target,该事件类型可以响应GITHUB_TOKEN生成的PR事件。需要注意:pull_request_target运行时默认拉取的是PR目标分支(通常是main/master分支)的代码上下文,且默认授予的工作流权限更高,如果你的测试流程需要运行PR提交的代码,必须严格收敛工作流权限,避免执行外来不可信代码带来的安全风险。
  • 方案3:人工介入触发(仅适合临时场景)
    也就是你目前使用的关闭重开PR、或者手动在Actions页面点击运行的方式,本质是将触发凭证替换为个人账号身份,但完全依赖人工操作,不适合长期自动化流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 00:48:16