properties([ pipelineTriggers([[$class: "SCMTrigger", scmpoll_spec: "H/15 * * * *"]]) ]) node ("docker-light") { def SOURCEDIR = pwd() try { stage("Clean up") { step([$class: 'WsCleanup']) } stage("Checkout Code") { checkout scm } stage("Test with Docker") { echo "${env.ALT_URL}" def useUrl = ("${env.ALT_URL}" == "null") ? "${env.BINDING_TEST_URL}" : "${env.ALT_URL}" withEnv(["API_KEY=${env.ROSETTE_API_KEY}", "ALT_URL=${useUrl}"]) { sh "docker pull rosetteapi/docker-python" sh "docker run --rm -e API_KEY=${API_KEY} -e ALT_URL=${ALT_URL} -v ${SOURCEDIR}:/source rosetteapi/docker-python" } } slack(true) } catch (e) { currentBuild.result = "FAILED" slack(false) throw e } } def slack(boolean success) { def color = success ? "#00FF00" : "#FF0000" def status = success ? "SUCCESSFUL" : "FAILED" def message = status + ": Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})" slackSend(color: color, channel: "#rapid", message: message) }