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

如何在GitHub Actions中使用环境变量作为输入参数的默认值?

解决GitHub Action输入参数默认使用环境变量的问题

GitHub Actions不允许在inputs的default字段中直接引用环境变量,且inputs是只读属性,无法在步骤中直接修改。你可以通过中转到环境变量或步骤输出的方式实现需求:

方案1:使用环境变量中转

在步骤中判断输入是否为空,将最终值写入新的环境变量,后续步骤统一使用这个环境变量:

inputs:
  mono-build-tag:
    description: Release tag to download from the mono-build-repo
    default: ""  
runs:
  using: "composite"
  steps:
    - name: 设置有效的Mono构建标签
      run: |
        if [ -z "${{ inputs.mono-build-tag }}" ]; then
          # 输入为空时,使用环境变量的值
          echo "MONO_BUILD_TAG=${{ env.GODOT_MONO_BUILD_TAG }}" >> "$GITHUB_ENV"
        else
          # 输入不为空时,使用用户提供的输入值
          echo "MONO_BUILD_TAG=${{ inputs.mono-build-tag }}" >> "$GITHUB_ENV"
        fi
      shell: bash
      
    # 后续步骤使用这个环境变量
    - name: 下载指定标签的构建包
      run: |
        echo "正在下载标签: ${{ env.MONO_BUILD_TAG }}"
        # 这里添加你的下载逻辑
      shell: bash

方案2:使用步骤输出传递

如果需要在不同步骤间传递值,也可以用步骤的outputs:

inputs:
  mono-build-tag:
    description: Release tag to download from the mono-build-repo
    default: ""  
runs:
  using: "composite"
  steps:
    - name: 设置有效的Mono构建标签
      id: set-tag
      run: |
        if [ -z "${{ inputs.mono-build-tag }}" ]; then
          echo "mono_build_tag=${{ env.GODOT_MONO_BUILD_TAG }}" >> "$GITHUB_OUTPUT"
        else
          echo "mono_build_tag=${{ inputs.mono-build-tag }}" >> "$GITHUB_OUTPUT"
        fi
      shell: bash
      
    # 后续步骤通过步骤ID引用输出值
    - name: 下载指定标签的构建包
      run: |
        echo "正在下载标签: ${{ steps.set-tag.outputs.mono_build_tag }}"
        # 这里添加你的下载逻辑
      shell: bash

为什么你的尝试无效?

  • 尝试1:GitHub Actions的inputs.default仅支持静态值或特定上下文(如github上下文),不允许引用env上下文,因此会报错。
  • 尝试2:inputs是只读属性,无法在run步骤中直接修改,所以无法直接给inputs.mono-build-tag赋值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:26:14