pipeline { options { ansiColor('xterm') } //label libraryBuild is available in CN JAWS and ROW JAWS, therefore this one was used; no additional intents agent {label 'libraryBuild'} parameters { string(name: 'CLUSTER', defaultValue: '', description: 'Enter the cluster name') string(name: 'ENVIRONMENT', defaultValue: '', description: 'Enter single environment name. Possible values are: euprod, eupreprod, napreprod, naprod, cnprod. cnpreprod') } //here comes the trigger according to crontabs - jenkins is in UTC triggers { } environment { //ProxySettings AUTH = credentials('proxy') proxy_user = "${AUTH_USR}" proxy_pw = "${AUTH_PSW}" http_proxy="http://${proxy_user}:${proxy_pw}@proxy.muc:8080" https_proxy="http://${proxy_user}:${proxy_pw}@proxy.muc:8080" no_proxy="localhost,127.0.0.1,.muc,.bmwgroup.net" HTTP_PROXY="${http_proxy}" HTTPS_PROXY="${https_proxy}" NO_PROXY="${no_proxy}" EUPROD_TOKEN_VAR = credentials('EUPROD_TOKEN_VAR') EUPREPROD_TOKEN_VAR = credentials('EUPREPROD_TOKEN_VAR') NAPROD_TOKEN_VAR = credentials('NAPROD_TOKEN_VAR') NAPREPROD_TOKEN_VAR = credentials('NAPREPROD_TOKEN_VAR') CNPROD_TOKEN_VAR = credentials('CNPROD_TOKEN_VAR') CNPREPROD_TOKEN_VAR = credentials('CNPREPROD_TOKEN_VAR') } stages { stage('install required python packages') { steps { sh ''' pip install --user -r requirements.txt ''' print env.JENKINS_URL } } stage('Execute Dashboard script') { steps { if(CLUSTER.isEmpty()) { currentBuild.result = 'ABORTED' error('Aborting due to missing CLUSTER parameter') return } else if(ENVIRONMENT.isEmpty()) { currentBuild.result = 'ABORTED' error('Aborting due to missing ENVIRONMENT parameter') return } else { SCRIPT_PARAMETER = SCRIPT_PARAMETER + " -C " + CLUSTER.toString() SCRIPT_PARAMETER = SCRIPT_PARAMETER + " -E " + ENVIRONMENT.toString() sh "python createDash.py ${SCRIPT_PARAMETER}" } } } } post { always { cleanWs() } } }