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

Github Actions默认工作目录变量配置问题求助

GitHub Actions 输入变量无法传递到默认工作目录问题排查

问题说明

配置GitHub Actions时,希望通过workflow_dispatch的输入变量给默认工作目录传值(而非硬编码),但尝试${{ github.event.inputs.PATH }}和${{ inputs.PATH }}都无法读取到变量的实际值;同时步骤中引用的APPNAME变量未定义,导致输出异常。

问题原因

  1. 根层级defaults的上下文限制:工作流根层级的defaults.run.working-directory无法直接使用inputs或github.event.inputs上下文。因为根层级的defaults在工作流初始化阶段就被解析,此时workflow_dispatch的输入变量还未完成加载,无法被读取。
  2. 未定义变量引用:原代码中echo "${{ inputs.ENVIRONMENT}}/${{ inputs.APPNAME }} "里的APPNAME未在on.workflow_dispatch.inputs中定义,会输出空值。

解决方案

方案1:在Job层级设置默认工作目录

将defaults移到Job内部,此时可以正常访问inputs变量:

name: Test

on:
  workflow_dispatch:
    inputs:
      ENVIRONMENT:
        default: development
        type: string 
      PATH:
        default: test
        type: string
      APPNAME: # 补充缺失的输入变量
        default: my-app
        type: string

jobs:
  job1:
    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash
        working-directory: ${{ inputs.PATH }} # Job层级的defaults可访问inputs
    steps:
      - name: Run Commands with various variables
        run: |
          echo "Hello World"
          echo "${{ inputs.ENVIRONMENT }}/${{ inputs.APPNAME }}"

方案2:在Step层级直接指定工作目录

如果不需要给整个Job设置默认工作目录,可在具体Step中直接指定:

name: Test

on:
  workflow_dispatch:
    inputs:
      ENVIRONMENT:
        default: development
        type: string 
      PATH:
        default: test
        type: string
      APPNAME:
        default: my-app
        type: string

jobs:
  job1:
    runs-on: ubuntu-latest
    steps:
      - name: Run Commands with various variables
        shell: bash
        working-directory: ${{ inputs.PATH }}
        run: |
          echo "Hello World"
          echo "${{ inputs.ENVIRONMENT }}/${{ inputs.APPNAME }}"

关键说明

  • Job层级或Step层级的配置在Job执行阶段解析,此时workflow_dispatch的输入变量已完全加载,因此可以正常使用${{ inputs.xxx }}引用。
  • 所有在步骤中引用的输入变量,必须提前在on.workflow_dispatch.inputs中定义,否则会输出空值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 16:37:47