能否在GitHub Actions中限制可重用工作流输入的允许值?
GitHub Actions是否支持限制可重用工作流输入的允许值?
目前GitHub Actions暂不支持像Azure Pipelines那样,直接在参数定义中通过values字段指定输入的允许值列表。
不过你可以通过在工作流中添加输入校验步骤来实现类似的限制效果:在工作流执行核心逻辑前,先检查输入参数是否符合预期的取值范围,若不符合则直接终止工作流并抛出错误提示。
以下是一个示例的可重用工作流实现:
# .github/workflows/reusable-workflow.yml name: 可重用工作流 on: workflow_call: inputs: environment: type: string required: true build_app: type: boolean default: true deploy_infra: type: boolean default: false jobs: validate-inputs: runs-on: ubuntu-latest steps: - name: 校验environment参数合法性 if: ${{ !contains(fromJSON('["dev", "test", "prod"]'), inputs.environment) }} run: | echo "错误:'${{ inputs.environment }}' 不是合法的环境值,允许的取值为:dev、test、prod" exit 1 build-app: needs: validate-inputs runs-on: ubuntu-latest if: ${{ inputs.build_app }} steps: - name: 构建应用 run: echo "为 ${{ inputs.environment }} 环境构建应用"
这个方案通过前置的validate-inputs job完成参数校验,只有当所有输入都符合要求时,后续的核心任务才会执行。
内容的提问来源于stack exchange,提问作者mpchenette
相关产品推荐
相关产品推荐

