使用GitHub CLI触发指定分支pr.yml Workflow时出现404错误
解决GitHub CLI触发非默认分支Workflow时的404错误
问题原因
你遇到的404错误是因为:GitHub CLI通过文件名触发Workflow时,会优先去**默认分支(main)**查找对应的Workflow文件。而pr.yml只存在于kaju1分支,默认分支里没有,所以API返回找不到的错误。哪怕你加了--ref kaju1参数,CLI还是先在默认分支定位Workflow,再尝试切换分支执行,这就导致了定位失败。
解决办法
1. 用Workflow的ID触发(最稳妥)
先获取kaju1分支下所有Workflow的ID:
gh workflow list --repo username/repo-name --ref kaju1
执行后会列出类似这样的内容,找到pr.yml对应的数字ID:
pr.yml 12345678 active test.yml 87654321 active push.yml 11223344 active
然后用ID触发:
gh workflow run --repo username/repo-name --ref kaju1 12345678
2. 切换本地分支后触发
如果本地已经克隆了仓库,先切到kaju1分支:
git checkout kaju1
再直接触发Workflow(此时CLI会基于当前分支查找文件):
gh workflow run pr.yml --repo username/repo-name
3. 指定Workflow的完整路径(备选)
也可以直接用.github/workflows/下的完整路径触发,不过这个方法偶尔还是会受默认分支影响,优先推荐前两种:
gh workflow run --repo username/repo-name --ref kaju1 .github/workflows/pr.yml
内容的提问来源于stack exchange,提问作者Tanishk
相关产品推荐
相关产品推荐

