#!/usr/bin/env groovy void call(Map config = [:], Closure body = { }) { Map defaults = [ stepName: 'Checkout', useJobSCM: true, cleanWorkspace: true ] runConfig = defaults + config stage(runConfig.stepName) { if (runConfig.cleanWorkspace) { cleanWs disableDeferredWipeout: true } printBanner(runConfig.stepName) if (runConfig.useJobSCM) { checkout scm } body() } }