В Jenkins createItem вызывает NotSerializableException, но выполняет ли это задание... стоит ли мне беспокоиться?

Я вызываю createItem в функции из цикла, полученного из списка git currentBuild.changeSets

Вот функция:

      def boolean shCreateJob(jobName) {
    jobName = jobName.toString()
    command = "curl -s -XPOST '$JENKINS_URL/createItem?name=$jobName' -u user:secret --data-binary ${TEMPLATE_FILE} -H 'Content-Type:text/xml'"
    command = command.toString()
    println("In shCreateJob, command=$command")
    println("In shCreateJob, command.getClass()=${command.getClass()}")
    try {
        sh "curl $command"
        } 
    catch (err) {
            echo 'Exception during job creation : ' + err
        }
    return true
}

Как видите, в функции я пытаюсь преобразовать имя и команду в String, чтобы гарантировать, что команда sh не получит ничего экзотического.

Вот результат:

      In shCreateJob, command=curl -s -XPOST 'http://10.128.128.168:8080//createItem?name=cz_AAA' -u user:secret --data-binary @//var/lib/jenkins/jobs/_upload_template/config.xml -H 'Content-Type:text/xml'
[Pipeline] echo
In shCreateJob, command.getClass()=class java.lang.String
[Pipeline] sh
[Pipeline] echo
Exception during job creation : java.io.NotSerializableException: java.util.LinkedHashMap$Entry

И тем не менее, задание завершается успешно, а новое задание создается, как и ожидалось! В чем дело?

0 ответов

Другие вопросы по тегам