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

能否在GitHub Workflows不同触发器间全局定义输入参数?

GitHub Actions 触发器输入参数复用问题解答

核心结论

GitHub Actions不支持跨触发器全局定义共享输入参数,也不存在官方的shared_inputs特性实现输入复用。workflow_call和workflow_dispatch的输入是各自独立的,必须分别声明,但可以通过YAML原生特性减少重复代码。

具体问题解答

  • 是否必须为每个触发器单独定义输入?
    是的。workflow_dispatch(手动触发)和workflow_call(被其他工作流调用)的输入配置属于各自触发器的专属字段,无法直接全局共享,必须分别在对应触发器节点下定义。

  • 两者设置相同输入集是否可行?
    完全可行。虽然不能全局定义,但可以通过YAML锚点&别名的方式复用输入定义,避免重复编写相同的配置内容。

  • 如何避免重复定义输入参数?
    利用YAML的锚点特性,先定义好通用的输入配置,再在两个触发器中引用即可。示例代码如下:

    name: 复用输入参数示例
    
    # 定义可复用的输入锚点
    shared-x-input: &shared-x-input
      X:
        type: boolean
        description: "布尔类型输入参数X"
        default: false
        required: true
    
    on:
      workflow_dispatch:
        inputs:
          <<: *shared-x-input  # 引用锚点,复用X的配置
      workflow_call:
        inputs:
          <<: *shared-x-input  # 引用锚点,复用X的配置
    

    这样后续需要修改参数X的配置时,只需要修改锚点处的内容,两处触发器的输入配置会自动同步。

  • 是否可使用shared_inputs实现共享?
    目前GitHub Actions没有官方支持shared_inputs这个字段,使用后不会生效,请勿尝试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:22:07