pull_request_target触发器在PR关闭时未触发,请求排查
解决pull_request_target在PR关闭时不触发的问题
核心原因:工作流必须存在于PR目标分支
pull_request_target触发器的运行逻辑是基于PR目标分支(你这里是master)中的工作流配置执行的。如果你的工作流文件仅存在于发起PR的源分支,还未合并到master,那么关闭PR时,master分支里没有对应的工作流配置,GitHub不会触发它。
排查与修复步骤
- 确保工作流已合并到master分支:将这个工作流文件先合并到master分支,之后再关闭针对master的PR时,触发器就能正常触发。
- 检查工作流文件位置:确认文件放在仓库的
.github/workflows/目录下,且文件名后缀为.yml或.yaml(比如.github/workflows/pr-close-cleanup.yml),路径或后缀错误会导致GitHub无法识别。 - 验证PR事件与运行记录:关闭PR后,去仓库的「Actions」页面查看是否有相关运行记录,部分场景下会有几分钟延迟;同时确认PR确实触发了
closed事件(直接关闭或合并后关闭都会触发该事件)。 - 检查仓库Actions权限:在仓库设置的「Actions」选项中,确认未禁用GitHub Actions功能,私有仓库可额外检查工作流是否具备基础执行权限(你的示例仅执行echo,权限问题概率较低)。
测试建议
若要提前验证工作流效果,可先将工作流合并到master,再从其他分支发起PR到master,此时关闭该PR即可看到工作流触发。
内容的提问来源于stack exchange,提问作者Mark S.
相关产品推荐
相关产品推荐

