Jenkins job dsl插件:如何将环境变量注入常春藤作业?

Jenkins job dsl插件:如何将环境变量注入常春藤作业?,jenkins,jenkins-job-dsl,Jenkins,Jenkins Job Dsl,我有一份Jenkins Ivy的工作,它使用将环境变量注入构建过程步骤。我正在编写一个DSL脚本,这样我就可以使用job-DSL插件插件动态创建此作业 我为此设置了以下行: steps { envInjectBuilder { propertiesFilePath('/tmp/file') } } 但是steps方法只能应用于自由职业,而不能应用于常春藤职业。我在控制台输出中得到: Processing DSL script ivyJob.groovy java.lang

我有一份Jenkins Ivy的工作,它使用
将环境变量注入构建过程
步骤。我正在编写一个DSL脚本,这样我就可以使用
job-DSL插件
插件动态创建此作业

我为此设置了以下行:

steps {
  envInjectBuilder {
    propertiesFilePath('/tmp/file')
  }   
}
但是
steps
方法只能应用于自由职业,而不能应用于常春藤职业。我在控制台输出中得到:

Processing DSL script ivyJob.groovy
java.lang.IllegalStateException: steps cannot be applied for Ivy jobs
DSL插件不支持常春藤工作环境吗?如果没有,有没有一种方法可以通过编程实现?我知道EnvInject与常春藤作业兼容,因为我可以手动创建作业


谢谢。

EnvInject插件允许在构建生命周期的多个点注入变量。构建步骤只是一种可能性。对于常春藤项目类型,作业属性和包装器选项将起作用

ivyJob('example') {
  environmentVariables {
    env('ONE', '1')
    propertiesFile('env.properties')
    keepBuildVariables(true)
  }
  wrappers {
    environmentVariables {
      env('ONE', '1')
      envs(FOO: 'bar', TEST: '123')
      propertiesFile('env.properties')
    }
  }
}
有关详细信息,请参阅作业DSL API查看器:


谢谢@daspilker。
wrappers
方法正是我想要的。