I have the following shared-library file *defaultCiPipelineGeneric.groovy*

def call(body) {
    // evaluate the body block, and collect configuration into the object
    def pipelineParams= [:]
    body.resolveStrategy = Closure.DELEGATE_FIRST
    body.delegate = pipelineParams
    body()

    pipelineParams = initializePipeline(pipelineParams, 
pipelineParams.buildType)

    pipeline {
        agent {
            label pipelineParams.nodes
        }
    ...


The pipeline is then uses as follows (e.g. in 
*jenkins-pipeline-demo-generic*):
library identifier: "pipeline-helper@master"

defaultCiPipelineGeneric {
    nodes               = 'windows-test'
    buildScript         = 'build.groovy'
}

That actually works fine. Now If i introduce additional methods like this:
def call(body) {
    this.call(body, null)
}

def call(body, buildFunction) {
    this.call(body, null, null)
}

def call(body, buildFunction, deployFunction) {
    // evaluate the body block, and collect configuration into the object
    def pipelineParams= [:]
    body.resolveStrategy = Closure.DELEGATE_FIRST
    body.delegate = pipelineParams
    body()

    pipelineParams = initializePipeline(pipelineParams, 
pipelineParams.buildType)

    pipeline {
        agent {
            label pipelineParams.nodes
        }

This fails with java.lang.NoSuchMethodError: No such DSL method 'agent' 
found among steps

Why does that not work?

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/40965400-9f4d-4dbf-8375-35558fb0f731n%40googlegroups.com.

Reply via email to