properties([ | |
parameters([ | |
[ | |
$class: 'ChoiceParameter', | |
choiceType: 'PT_SINGLE_SELECT', | |
name: 'DataCenter', | |
randomName: 'datacenter-choice-parameter-102102304304506506', | |
script: [ | |
$class: 'ScriptlerScript', | |
scriptlerScriptId:'getdatacenters.groovy', | |
fallbackScript: [ classpath: [], script: 'return ["N/A"]'] | |
] | |
], | |
[ | |
$class: 'CascadeChoiceParameter', | |
choiceType: 'PT_SINGLE_SELECT', | |
name: 'EnvironmentType', | |
randomName: 'envtype-choice-parameter-101012020230303404', | |
referencedParameters: 'DataCenter', | |
script: [ | |
$class: 'ScriptlerScript', | |
scriptlerScriptId:'getenvtypesbydatacenter.groovy', | |
fallbackScript: [ classpath: [], script: 'return ["N/A"]'], | |
] | |
] | |
]) | |
]) | |
The groovy code for getdatacenters.groovy for demo purposes is (but might be retrieved from a DB, as an alternative): | |
return["Dev","Prod"] | |
The groovy code for getenvtypesbydatacenter.groovy might look like this: | |
import groovy.sql.Sql | |
import jenkins.model.* | |
nodes = Jenkins.instance.globalNodeProperties | |
nodes.getAll(hudson.slaves.EnvironmentVariablesNodeProperty.class) | |
sql = Sql.newInstance("jdbc:sqlserver://SQLServerHere;connectionDataHere", "com.microsoft.sqlserver.jdbc.SQLServerDriver") | |
envTypes = sql.rows("exec [DbHere].[schema].[GetEnvTypes] @DataCenter = $DataCenter").collect({ query -> query.EnvTypeName}) | |
envTypes.add(0,'') | |
return envTypes |
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I am working at Cotocus. I blog tech insights at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at I reviewed , and SEO strategies at Wizbrand.
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at PINTEREST
Rajesh Kumar at QUORA
Rajesh Kumar at WIZBRAND