GitHub Actions手动触发工作流异常:无Run Workflow按钮及输入提示
GitHub Actions workflow_dispatch 无Run按钮且输入值为null的问题排查
问题原因分析
工作流文件路径错误
GitHub Actions仅识别.github/workflows/目录下的yaml文件作为工作流配置。如果你的工作流文件放在其他目录(比如仓库根目录),GitHub无法检测到该工作流,自然不会显示Run Workflow按钮。触发方式导致输入值为null
你的工作流同时配置了workflow_dispatch和push两个触发条件:
- 当通过
push触发时(比如推送代码到feature/*分支),不存在手动输入环节,github.event.inputs.myInput必然为null,这和你截图里的输出一致; - 只有通过
workflow_dispatch手动触发时,才会弹出输入框让你填写myInput。
- 权限或分支限制
- 如果当前分支是受保护分支,仓库设置可能限制了手动触发工作流的权限;
- 你的账号没有该仓库的写入权限,也会导致看不到
Run Workflow按钮。
解决步骤
修正工作流文件位置
将工作流文件移动到.github/workflows/目录下,比如创建路径:.github/workflows/input-workflow.yml,提交推送后刷新仓库的Actions页面。正确手动触发工作流
在仓库的Actions标签页找到你的Input Workflow,点击右侧的Run workflow下拉按钮(若仍看不到,先检查文件路径和权限),此时会弹出输入框,填写或使用默认值后点击Run workflow,myInput就会获取到对应的值。检查权限与分支规则
- 联系仓库管理员确认你的账号拥有仓库写入权限;
- 查看仓库分支保护规则(
Settings->Branches->Branch protection rules),确保允许手动触发工作流。
验证小技巧
可以修改工作流的输出步骤,增加触发源判断,方便排查问题:
- name: Execute Test Script run: | echo "Trigger event: ${{ github.event_name }}" echo "Store: ${{ github.event.inputs.myInput }}"
如果是workflow_dispatch触发,github.event_name会显示为workflow_dispatch,且myInput有值;如果是push触发,event_name为push,myInput为null。
内容的提问来源于stack exchange,提问作者change198
相关产品推荐
相关产品推荐

