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

如何在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:17:37