通过Groovy脚本设置Jenkins环境变量

时间:2017-06-19 14:47:09

标签: java jenkins groovy ansible

我想通过在Ansible中执行的Groovy脚本(YAML文件)设置Jenkins全局属性 - 环境变量。
我试过了

import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
instance = Jenkins.getInstance()
envVars.put("FOO1", "bar1")
envVars.put("FOO2", "bar2")
instance.save()

为什么这不起作用?

1 个答案:

答案 0 :(得分:4)

以这种方式完成:

import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
instance = Jenkins.getInstance()
globalNodeProperties = instance.getGlobalNodeProperties()
envVarsNodePropertyList = globalNodeProperties.getAll(hudson.slaves.EnvironmentVariablesNodeProperty.class)

envVars = null
if ( envVarsNodePropertyList == null || envVarsNodePropertyList.size() == 0 ) {
  newEnvVarsNodeProperty = new hudson.slaves.EnvironmentVariablesNodeProperty();
  globalNodeProperties.add(newEnvVarsNodeProperty)
  envVars = newEnvVarsNodeProperty.getEnvVars()
} else {
  envVars = envVarsNodePropertyList.get(0).getEnvVars()  
}
envVars.put("name", "value")
instance.save()