У меня есть работа 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) {
.
.
.
}
}
Нужна помощь, чтобы понять, что означает ошибка и как ее устранить.