हल : एस। रिचमंड से नीचे जवाब के लिए धन्यवाद । मुझे उस प्रकार के सभी संग्रहीत नक्शे को अनसेट करने की आवश्यकता थी , groovy.json.internal.LazyMap
जिसका अर्थ था चर envServers
का object
उपयोग करना और उपयोग के बाद।
अतिरिक्त : इस त्रुटि के लिए खोज करने वाले लोग इसकेreadJSON
बजाय जेनकींस पाइपलाइन कदम का उपयोग करने के लिए इच्छुक हो सकते हैं - यहां अधिक जानकारी प्राप्त करें ।
मैं उपयोगकर्ता से इनपुट लेने के लिए जेनकिंस पाइपलाइन का उपयोग करने की कोशिश कर रहा हूं जो कि जॉन्स स्ट्रिंग के रूप में नौकरी में उत्तीर्ण है। पाइपलाइन तब गारा का उपयोग करके इसे पार्स करता है और मैं महत्वपूर्ण जानकारी निकालता हूं। फिर यह उस जानकारी का उपयोग अलग-अलग नौकरी मापदंडों के साथ समानांतर में 1 नौकरी को कई बार चलाने के लिए करेगा।
जब तक मैं "## Error when below here is added"
स्क्रिप्ट के नीचे कोड नहीं डालूंगा, तब तक ठीक चलेगा। यहां तक कि उस बिंदु के नीचे का कोड अपने आप ही चलेगा। लेकिन संयुक्त होने पर मुझे नीचे की त्रुटि मिलती है।
मुझे ध्यान देना चाहिए कि ट्रिगर की गई नौकरी को कहा जाता है और सफलतापूर्वक चलता है लेकिन नीचे की त्रुटि होती है और मुख्य नौकरी को विफल कर देती है। इस वजह से मुख्य नौकरी ट्रिगर की गई नौकरी की वापसी की प्रतीक्षा नहीं करती है। मैं कोशिश कर सकता / पकड़ सकताbuild job:
हूँ लेकिन मैं चाहता हूँ कि मुख्य काम खत्म होने के लिए ट्रिगर के काम का इंतज़ार करे।
क्या कोई यहाँ सहायता कर सकता है? अगर आपको अभी और जानकारी चाहिए तो मुझे बताएं।
चियर्स
def slurpJSON() {
return new groovy.json.JsonSlurper().parseText(BUILD_CHOICES);
}
node {
stage 'Prepare';
echo 'Loading choices as build properties';
def object = slurpJSON();
def serverChoices = [];
def serverChoicesStr = '';
for (env in object) {
envName = env.name;
envServers = env.servers;
for (server in envServers) {
if (server.Select) {
serverChoicesStr += server.Server;
serverChoicesStr += ',';
}
}
}
serverChoicesStr = serverChoicesStr[0..-2];
println("Server choices: " + serverChoicesStr);
## Error when below here is added
stage 'Jobs'
build job: 'Dummy Start App', parameters: [[$class: 'StringParameterValue', name: 'SERVER_NAME', value: 'TestServer'], [$class: 'StringParameterValue', name: 'SERVER_DOMAIN', value: 'domain.uk'], [$class: 'StringParameterValue', name: 'APP', value: 'application1']]
}
त्रुटि:
java.io.NotSerializableException: groovy.json.internal.LazyMap
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:860)
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:569)
at org.jboss.marshalling.river.BlockMarshaller.doWriteObject(BlockMarshaller.java:65)
at org.jboss.marshalling.river.BlockMarshaller.writeObject(BlockMarshaller.java:56)
at org.jboss.marshalling.MarshallerObjectOutputStream.writeObjectOverride(MarshallerObjectOutputStream.java:50)
at org.jboss.marshalling.river.RiverObjectOutputStream.writeObjectOverride(RiverObjectOutputStream.java:179)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at java.util.LinkedHashMap.internalWriteEntries(Unknown Source)
at java.util.HashMap.writeObject(Unknown Source)
...
...
Caused by: an exception which occurred:
in field delegate
in field closures
in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@5288c