如何在GitHub Action中使用多参数及Azure DevOps传入的输入参数
在GitHub Action中使用多个参数及接收Azure DevOps传入参数的方案
一、GitHub Action里用多个参数
1. 定义工作流输入参数
在你的GitHub Action工作流文件(比如.github/workflows/deploy.yml)中,直接通过on.workflow_dispatch.inputs定义可选参数,格式和你提供的Azure DevOps参数结构类似:
name: Deploy Workflow on: workflow_dispatch: inputs: environment: description: 'CWP environment' required: true default: 'dev' type: choice options: - 'Please select environment' - 'dev' - 'ts1' - 'ts2' - 'ts3' - 'stg' - 'prf' - 'cte' - 'tst' region: description: 'CWP Region' required: true default: 'central' type: choice options: - 'central' - 'east' - 'both'
2. 在步骤中调用参数
定义好参数后,在jobs的步骤里直接用${{ inputs.environment }}和${{ inputs.region }}引用即可,示例如下:
jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: 打印部署参数 run: | echo "部署环境: ${{ inputs.environment }}" echo "目标区域: ${{ inputs.region }}" - name: 执行部署脚本 run: ./deploy.sh --env ${{ inputs.environment }} --region ${{ inputs.region }}
也可以把参数赋值给环境变量,方便后续步骤统一调用:
jobs: deploy: runs-on: ubuntu-latest env: DEPLOY_ENV: ${{ inputs.environment }} DEPLOY_REGION: ${{ inputs.region }} steps: - name: 使用环境变量 run: | echo "环境: $DEPLOY_ENV" echo "区域: $DEPLOY_REGION"
二、接收Azure DevOps传入的参数
1. Azure DevOps侧配置参数传递
如果用Azure DevOps YAML Pipeline调用GitHub Action,在调用步骤里通过with字段把Azure DevOps的参数传过去:
steps: - task: GitHubAction@1 inputs: repoName: '你的用户名/你的仓库名' workflowFileName: 'deploy.yml' githubToken: $(GitHubPersonalAccessToken) inputs: | environment: ${{ parameters.environment }} region: ${{ parameters.region }}
要是用Azure DevOps经典编辑器,添加GitHub Action任务时,找到对应输入框,填入$(environment)和$(region)即可。
2. GitHub Action侧接收参数
只要你在GitHub Action工作流里提前定义好对应的inputs(参考第一部分的定义),就能直接用${{ inputs.environment }}和${{ inputs.region }}使用Azure DevOps传过来的参数,和手动触发工作流时的用法完全一致。
注意点
- 确保Azure DevOps的参数值和GitHub Action的选项值完全匹配,大小写、拼写都不能出错,否则会导致参数不生效。
- 如果Azure DevOps参数允许用户自定义输入(不是只能选择固定值),要把GitHub Action里
inputs的type改成string,不要用choice,保证兼容性。
内容的提问来源于stack exchange,提问作者vikash sharma
相关产品推荐
相关产品推荐

