[英]Not serializable error for jenkins declarative pipeline
我試圖從我的管道中觸發我的電子郵件推廣工作,該管道從Jenkins
消息中提取回購名稱。 但是無法解決此塊的SerializableException
錯誤。 任何幫助是極大的贊賞。
post{
success{
script{
@NonCPS
//upstream_job_name = null
def manager = manager.getLogMatcher('.*Obtained Jenkinsfile from git (.*)$')
if(manager.matches()){
def gitMsg=manager.group(1)
gitrepo = "${gitMsg}"
echo gitrepo
def upstream_job_name = gitrepo.split("/")[4].replace(".git", "")
println upstream_job_name
}
build job: 'job-approval' , parameters: [[$class: 'StringParameterValue', name: 'upstream_job_name', value: upstream_job_name]]
}
}
}
以下是我收到的錯誤消息:
[管道] //腳本執行成功發布條件時出錯:
java.io.NotSerializableException:org.jboss.marshalling.river.BlockMarshaller.doWriteObject(BlockMars65)上的org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:926) )在org.jboss.marshalling.Marshalling.river.BlockMarshaller.java:56在org.jboss.marshalling.MarshallerObjectOutputStream.writeObjectOverride(MarshallerObjectOutputStream.java:50)在org.jboss.marshalling。 RiverObjectOutputStream.java:179)
使用后,您需要立即釋放manager
。 更多細節可以在這篇文章中找到
script{
//upstream_job_name = null
def manager = manager.getLogMatcher('.*Obtained Jenkinsfile from git (.*)$')
if(manager.matches()){
def gitMsg=manager.group(1)
gitrepo = "${gitMsg}"
echo gitrepo
def upstream_job_name = gitrepo.split("/")[4].replace(".git", "")
println upstream_job_name
}
manager = null
build job: 'job-approval' ,
parameters: [
[$class: 'StringParameterValue', name: 'upstream_job_name', value: upstream_job_name]
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.