Нет подписи ошибки метода после обновления плагина job-dsl с 1.50 до 1.72 - PullRequest
0 голосов
/ 27 мая 2019

У меня есть работа jenkins, в которой используется плагин job-dsl. С плагином version 1.50 все отлично работает. После обновления до плагина version 1.72 выполнение задания сообщило о следующих ошибках.

Обработка заданий сценария DSL / custom_xyz.groovy ОШИБКА: (BaseTests.groovy, строка ххх) Нет подписи метода: javaposse.jobdsl.dsl.helpers.ScmContext.xyzPluginRepoBlock () является применимо для типов аргументов: () значения: [] Завершено: FAILURE

Пробовал тот же код с job-dsl плагином version 1.50. Завершено без ошибок.

package lib

import groovy.json.JsonSlurper
import javaposse.jobdsl.dsl.Folder
import javaposse.jobdsl.dsl.Job
import javaposse.jobdsl.dsl.helpers.ScmContext
import javaposse.jobdsl.dsl.helpers.publisher.PublisherContext
import javaposse.jobdsl.dsl.helpers.step.StepContext

import static JenkinsUtils.getOrDefault

public class BaseTests {

    // Credential ID in Jenkins credential store
    .
    .
    .

    def context
    .
    .
    .

    def XYZPluginRepoBlock = { ScmContext context ->
        context.with {
            git {
                branch pluginBranch()
                remote {
                    url pluginRepo()
                    credentials 'jenkins-cred'
                }
                extensions {
                    relativeTargetDirectory 'XYZ'
                    wipeOutWorkspace
                    clean
                }
            }
        }
    }

    def extras = { Job context -> }

    public setupDeployJob(TemplateName, TemplatePath, nextJob = 'Undeploy') {
        context.with {
            def workdir = "$TemplatePath"
            job("${folderName()}/${TemplateName}${BASE_DEPLOY_JOB_NAME}") {
                jobDescription = "Deploys the $TemplateName Template using the XYZ Manager."
                description(jobDescription)

                if (!isMaster())
                    extras(delegate)

                environmentVariables {
                    env('DP', "${folderName()}-${TemplateName}${BASE_DEPLOY_JOB_NAME}-\$BUILD_NUMBER")
                }

                wrappers {
                    preBuildCleanup {
                        includePattern('results/**')
                        includePattern('outputs.properties')
                    }
                    credentialsBinding {
                        usernamePassword("xyz_USERNAME", "xyz_PASSWORD", xyzCred())
                    }
                }
                multiscm {
                    xyzPluginRepoBlock delegate
                    if (isMaster()) {
                        git {
                            branch 'master'
                            remote {
                                url 'http://<coderepourl>'
                            }
                            extensions {
                                wipeOutWorkspace
                                clean
                            }
                        }
                    }
                }
            }
        }
    }


    public setupUndeploy(jobTitle = 'Undeploy', nextJob = null) {
    .
    .
    .
    }
}

Нужна помощь, чтобы понять, что означает ошибка и как ее устранить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...