How to refactor common Jenkins JobDSL code? How to refactor common Jenkins JobDSL code? jenkins jenkins

How to refactor common Jenkins JobDSL code?


The curly brackets form a Groovy closure. Each closure has a delegate object to which method calls are directed. And the delegate can be accessed via the delegate property. You can pass that delegate to the helper function to get access to it's methods.

def gradlew(def context, String tasks, String options = '') {  context.gradle(tasks, options, true) { node ->    node / wrapperScript('${NEBULA_HOME}/gradlew')  }}job {  steps {    gradlew(delegate, 'generateLock saveLock', '-PdependencyLock.includeTransitives=true')    gradlew(delegate, 'check')  }}