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

如何在GitHub Actions的workflow_dispatch中用变量设置choice选项?

能否用变量设置workflow_dispatch中choice类型输入的options参数?

不行,你提供的写法不可行。

GitHub Actions在解析工作流的on配置段时,处于触发工作流的前置阶段,此时无法解析${{ vars.all_suites }}这类表达式来动态生成choice的options选项。workflow_dispatch的输入定义必须是静态的,options需要在工作流文件里直接写死具体的选项值。

替代方案

  • 改用string类型输入+运行时校验:如果需要动态选择测试套件,可以把输入类型改成string,然后在工作流运行时通过脚本校验输入值是否在允许的列表中(从vars或环境变量读取合法值),不符合就终止工作流并提示错误。示例代码:
on:
  workflow_dispatch:
    inputs:
      suites:
        type: string
        description: 输入测试套件名称(可选值参考仓库变量all_suites)
        required: true

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: 校验测试套件合法性
        run: |
          ALL_SUITES="${{ vars.all_suites }}"
          if ! echo "$ALL_SUITES" | grep -wq "${{ inputs.suites }}"; then
            echo "错误:输入的测试套件不在允许列表中,允许值为:$ALL_SUITES"
            exit 1
          fi
      # 后续执行测试的步骤
  • 动态生成工作流文件:如果一定要保留下拉选择的交互体验,可以通过另一个工作流提前生成包含静态options的目标工作流文件并提交到仓库,这样用户触发时就能看到下拉选项。不过这种方式需要维护额外的工作流,适合选项不频繁变动的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:23:10