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

如何让GitHub Actions工作流仅在production分支的PR评审时运行?

解决GitHub Actions仅在production分支PR评审时触发的问题

你的问题出在pull_request_review事件的branches字段过滤逻辑存在隐性坑点,你尝试的三种写法虽都是合法YAML格式,但实际场景中可能因分支匹配规则、跨仓库PR等因素导致过滤失效。

正确配置方式:用Job级条件精准控制

最可靠的方案是在Job中添加判断条件,直接校验PR的目标分支(base分支)是否为production,确保只有符合条件的场景才执行Job:

on:
  pull_request_review:
    types: [submitted, edited]

jobs:
  production-review-check:
    runs-on: ubuntu-latest
    # 仅当PR的目标分支是production时执行Job
    if: ${{ github.event.pull_request.base.ref == 'production' }}
    steps:
      - name: 示例执行步骤
        run: echo "仅针对production分支的PR评审才会运行此步骤"

原配置失效的原因

GitHub Actions中pull_request_review的branches字段理论上是过滤PR的目标分支,但实际使用中有不少易踩的坑:

  • 仓库分支名大小写敏感(比如Production和production会被视为不同分支),可能导致匹配失败
  • 来自fork仓库的PR,分支过滤逻辑可能无法严格生效
  • 部分场景下,GitHub事件触发机制会忽略分支过滤规则,直接触发工作流

而通过if条件直接读取事件中的pull_request.base.ref字段,能精准控制Job的执行时机,避开上述问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 23:32:59