Jenkins多级Active Choices联动

893 阅读1分钟

实现目的:通过选择不同host参数的值动态改变url、enable_url参数的值

Active Choices基础

创建一个名称为host的Active Choices Reactive Parameter

nameGroovy ScriptChoice TypeReferenced Parameters
hostreturn ["test1","test2","test3"]Single select/

.添加一个名为url的Active Choices Reactive Parameter参数;在host参数中,如果选择test1,url处则显示www.test1.com

nameGroovy ScriptChoice TypeReferenced Parameters
url参考下面代码Single selecthost

Groovy Script:

test1_url=["www.test1.com"]
if(hosts.equals("test1")){
  return test1_url
}
else if(hosts.equals("test2")){
  return test2_url
}
else{
  return ["unknown url"]
}

添加一个名称为enable_url的Active Choices Reactive Parameter参数;在host参数中选择test1时enable_url默认selected,test2参数默认不可选

nameGroovy ScriptChoice TypeReferenced Parameters
enable_url参考下面代码Check Boxeshost

Groovy Script:

if(host.equals("test2")){
  return ["enable_url:disabled"]
}
else{
  return ["enable_url:selected"]
}

Active Choice匹配

目的:通过匹配的方式动态返回字符串;选择env自动返回host参数

添加一个env的Choices Parameter参数;

nameChoicesChoice TypeReferenced Parameters
envtest//

添加一个host的Active Choices Reactive Parameter参数;

nameGroovy ScriptChoice TypeReferenced Parameters
host参考下面代码Single Selectenv

Groovy script code:

if(env1.contains(host)){
  return ["test1"]
}
else if(env2.contains(survey_environment)){
  return ["test2"]
}
else{
  return ["None"]
}