Groovy 管道脚本中出现“在步骤中找不到此类 DSL 方法 '$'”错误

rod*_*dee 2 groovy jenkins-pipeline

我的第一个管道脚本抛出错误,如下所示:

Also:   java.lang.NoSuchMethodError: No such DSL method '$' found among steps [ <big text here>]
Run Code Online (Sandbox Code Playgroud)

它按预期触发了下游_1 和下游_2 作业,但最终因上述错误而失败,这是我的常规脚本,有任何帮助/指针来解决此问题吗?

pipeline {
agent
{
    node {
            label 'my_server'
          }
}

stages 
{
    stage('Start') {
        steps {
            sh 'ls'
        }
    }

    stage('End') {
        steps {
            script {
            def jobsString = "downstream_1,downstream_2"
            ArrayList jobsList = jobsString.split('\\,')

            def parallelJobs2Run = [:]
            jobsList.each { job ->
                echo "Run parallel for job ${job}"
                parallelJobs2Run["${job}"] = { ->
                    echo "Calling job ${job}"
                    jobResults=build job: "${job}",
                    parameters: [
                        string(name: 'param1', value: "value1"),
                        string(name: 'param2', value: "value2")
                    ],
                    propagate: true,
                    wait: true
                    buildNumber = ${jobResults.number}
                    echo "${job} Build number |${buildNumber}| result: |${jobResults.result}|"
                    echo "See details on: |${jobResults.absoluteUrl}|"
                }
            };
            parallel parallelJobs2Run
            }
        }
    }
}
}
Run Code Online (Sandbox Code Playgroud)

inj*_*eer 5

这条线

buildNumber = ${jobResults.number}
Run Code Online (Sandbox Code Playgroud)

应该是

buildNumber = jobResults.number
Run Code Online (Sandbox Code Playgroud)

或者

buildNumber = "${jobResults.number}"
Run Code Online (Sandbox Code Playgroud)