Я пытаюсь запустить работу Дженкинса с параметрами из другой работы. Я использую этот код для запуска:
stage ('Trigger autotests'){
if (currentBuild.currentResult == 'SUCCESS'){
build job: 'CloudVPN_Monitors/Monitor_QA', wait: false, parameters: [
string(name: 'Environment', value: 'qa'),
string(name: 'Browser', value: 'chrome')
]
}
}
Это спокойствие кода работает довольно хорошо (в моем тесте Jenkinsfile), задание запущено. Но когда я использую тот же код в моем оригинальном Jenkinsfile - я получаю сообщение об ошибке:
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: java.lang.String.call() is applicable for argument types: (java.util.LinkedHashMap) values: [[job:CloudVPN_Monitors/Monitor_QA, wait:false, parameters:[@string(name=Environment,value=qa), ...]]]
Possible solutions: wait(), any(), wait(long), any(groovy.lang.Closure), take(int), each(groovy.lang.Closure)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:64)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
Пожалуйста, посмотрите на мой оригинальный Jenkinsfile:
#!groovy
properties([
[$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', artifactDaysToKeepStr: '', artifactNumToKeepStr: '10', daysToKeepStr: '', numToKeepStr: '10']]
]);
def agent = getAgentForBranch()
node(agent) {
notifyBuild('STARTED')
def node = tool name: 'NodeJS', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation'
env.PATH = "${node}/bin:${env.PATH}"
sh 'npm --version'
stage ('Checkout') {
checkout scm
}
def date = new Date()
def commitId = sh(returnStdout: true, script: 'git rev-parse --short --sq HEAD')
def build = "${env.BUILD_NUMBER} | ${commitId} | ${date}"
def RUNAUTOTESTS = false
try {
def IMAGE_ENVIRONMENT = env.BRANCH_NAME
def WEBPACK_BUILD_ENV = env.BRANCH_NAME
switch(env.BRANCH_NAME) {
.......
case 'qa':
BUILD_ENVIRONMENT = 'qa'
IMAGE_ENVIRONMENT = 'qa'
AWS_REGION = 'us-east-1'
RUNAUTOTESTS = true
break;
.......
}
CAPTCHA_PATH = '/cloudvpnui/' + BUILD_ENVIRONMENT
stage ('Build docker containers'){
withCredentials([file(credentialsId: 'nexus-ovpn-ui-shared', variable: 'NPMRC')]){
........
}
withAWSParameterStore(credentialsId: 'aws-public-captcha', naming: 'basename', path: "${CAPTCHA_PATH}", recursive: true, regionName: "${AWS_REGION}") {
........
}
}
stage ('Upload containers') {
.........
}
stage ('Update AWS service') {
.........
}
stage ('Clean docker image') {
.........
}
if (RUNAUTOTESTS){
stage ('Wait until service becomes stable'){
sh "aws ecs wait services-stable --cluster cloudvpn-${BUILD_ENVIRONMENT} --services cloudvpn-ui-${BUILD_ENVIRONMENT}"
// Wait for ALB initialization
sleep 120
}
stage ('Trigger autotests'){
if (currentBuild.currentResult == 'SUCCESS'){
build job: 'CloudVPN_Monitors/Monitor_QA', wait: false, parameters: [
string(name: 'Environment', value: 'qa'),
string(name: 'Browser', value: 'chrome')
]
}
}
}
} catch (e) {
currentBuild.result = "FAILED"
throw e
} finally {
notifyBuild(currentBuild.result)
}
}
def getAgentForBranch() {
.......
}
def notifyBuild(String buildStatus = 'STARTED') {
.......
}
Знает ли кто-нибудь, что происходит на? Почему сборка завершается с ошибкой? Спасибо!
PS Jenkins v.2.204.1 Конвейер: плагин Build Step v.2.7