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

如何限制workflow_dispatch仅在指定分支手动触发?

如何限制GitHub Actions手动触发(workflow_dispatch)的可选分支?

目前GitHub Actions的workflow_dispatch事件本身不支持通过branches字段直接限制可选分支(你示例中注释的写法确实无效),不过可以通过以下两种方式实现类似需求:

方法一:添加分支合法性检查步骤

在工作流开头加入前置检查,验证触发分支是否在允许列表内,不符合则直接终止工作流。示例代码如下:

name: A test workflow title
on:
  push:
  workflow_dispatch:

jobs:
  validate-branch:
    runs-on: ubuntu-20.04
    steps:
      - name: 检查分支是否允许触发
        run: |
          # 定义允许触发的分支列表
          ALLOWED_BRANCHES=("main" "dev")
          if [[ ! " ${ALLOWED_BRANCHES[@]} " =~ " ${GITHUB_REF_NAME} " ]]; then
            echo "错误:分支 ${GITHUB_REF_NAME} 不允许触发此工作流"
            exit 1
          fi
  print-hello-world:
    needs: validate-branch
    runs-on: ubuntu-20.04
    steps:
      - name: Print hello world
        run: echo "Hello world!"

这种方式虽然无法修改GitHub界面上的分支下拉选项,但会在工作流启动后立刻校验分支合法性,不符合条件的会直接终止,避免无效运行。

方法二:结合分支保护规则与工作流权限

通过仓库的分支保护规则,限制只有特定分支能被操作,同时配置工作流的权限,间接阻止非法分支触发工作流。不过这种方式更偏向权限管控,而非直接限制下拉列表的可选范围。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:45:38