能否用gh workflows run触发非默认分支的CI工作流?
问题解答
可以用gh workflows run "workflow-name" --ref "pr-branch-name"触发尚未合并到默认分支的CI工作流,你遇到HTTP 404错误主要是以下几个原因,对应解决方法:
工作流名称/路径必须完全匹配
确认命令里的workflow-name和目标分支中工作流的文件名、路径完全一致(GitHub对文件名大小写敏感)。如果拿不准,直接用工作流ID代替名称——你可以在目标分支的Actions页面找到对应工作流,查看其ID(通常是一串数字),命令改为gh workflows run WORKFLOW_ID --ref "pr-branch-name"。工作流需配置手动触发事件
未合并分支的工作流要支持手动触发,必须在YAML文件的on字段中添加workflow_dispatch配置,示例:on: workflow_dispatch: # 开启手动触发 push: branches: [your-pr-branch-pattern]没有这个配置的话,即使分支里存在该工作流,也无法通过
gh workflows run触发。检查CLI版本与权限
确保你的GitHub CLI是最新版本(执行gh --version查看,旧版本可能存在兼容性问题),同时你拥有该仓库的写入权限(至少具备触发工作流的权限)。curl调用API需正确构造请求
用curl触发时,要调用工作流的dispatches接口并传入ref参数,示例命令:curl -X POST \ -H "Authorization: token YOUR_GITHUB_TOKEN" \ https://api.github.com/repos/Kaua3045/monorepo-testes/actions/workflows/order-command-ms-ci.yml/dispatches \ -d '{"ref": "pr-branch-name"}'注意不要直接访问工作流文件的API路径,而是调用触发专用的
/dispatches接口。
相关截图:
内容的提问来源于stack exchange,提问作者user22349142
相关产品推荐
相关产品推荐

