GitHub Actions workflow_dispatch的choice选项不生效问题排查
配置错误说明
你的配置无法正常渲染choice下拉选择框,是两个格式问题导致GitHub无法正确识别输入配置,自动降级为普通文本输入框:
- YAML顶层缩进错误:
jobs字段开头多了1个多余空格,没有和顶层的name、on字段顶格对齐。YAML对缩进层级敏感度极高,缩进错位会直接导致整个工作流的结构解析失败,workflow_dispatch下的输入配置自然无法被正常读取。 - 选项列表存在重复值:
options数组中重复写入了两次AZURE-FRC-XXXXX,该冗余值会触发GitHub的工作流schema校验异常,进一步导致输入类型识别失败。
另外你在run步骤里写的"是HTML转义后的双引号,YAML里不需要做这个转义,直接写普通双引号即可,不过这个问题只会影响脚本执行阶段传参,不会导致触发页的输入框渲染异常。
修正后的完整工作流配置
name: Echo message on: workflow_dispatch: inputs: hubAddressGroupObject: type: choice description: 'Enter the name of the hub where the entry is added' required: true default: 'AZURE-EUW-XXXXX' options: - 'AZURE-EUW-XXXXX' - 'AZURE-FRC-XXXXX' - 'AZURE-USE-XXXXX' jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: WriteMessage shell: pwsh run: | Test-script.ps1 -message "${{ github.event.inputs.hubAddressGroupObject }}"
验证注意事项
- 修正后的配置合并到main分支后,手动触发工作流时必须确认选中的分支是
main,如果选中其他未同步修正配置的分支,依然会加载旧配置显示普通输入框。 - 如果配置推送后还是显示旧输入框,打开浏览器无痕模式重新访问触发页面即可,这是GitHub前端静态资源缓存导致的,和配置本身无关。
- 你提供的
Test-script.ps1脚本内容没有问题,不需要修改。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

