Thanks!

This is indeed another case 
of https://issues.jenkins-ci.org/browse/JENKINS-27421

Here is a working snippet:

def branches = [:]
def jobs = [ 'job-1' ]
def jobName
for (int i = 0; i < jobs.size(); i++) {
    jobName = jobs[i]
    // jobName must be used inside the build job closure
    branches[jobName] = { build job: jobName }
}
parallel branches

- David

On Wednesday, July 15, 2015 at 12:41:06 PM UTC+3, Arek Skalski wrote:
>
> Try to use classic:
>  for(int i = 0 ; i < jobs.length(); ++i) {...}
>
>
>
> W dniu wtorek, 14 lipca 2015 21:40:08 UTC+2 użytkownik David Resnick 
> napisał:
>>
>> I'm trying create jobs to run in parallel in a workflow with this script:
>>
>> def branches = [:]
>> def jobs = [ 'job-1' ]
>> for (job in jobs) {
>>     branches[job] = { build job: job }
>> }
>> parallel branches
>>
>> This fails with the below (though it doesn't fail when 'parallel 
>> branches' is commented out).
>>
>> How can this be done?
>>
>> Thanks,
>> David
>>
>> Running: Execute sub-workflows in parallel : Start
>> [job-1] Running: Parallel branch: job-1
>> [job-1] Running: Build a Job
>> [job-1] Starting building project: job-1
>> Running: Execute sub-workflows in parallel : Body : End
>> Running: End of Workflow
>> java.io.NotSerializableException: java.util.ArrayList$Itr
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:860)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:967)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>>      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(ObjectOutputStream.java:344)
>>      at java.util.HashMap.internalWriteEntries(HashMap.java:1777)
>>      at java.util.HashMap.writeObject(HashMap.java:1354)
>>      at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
>>      at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>      at java.lang.reflect.Method.invoke(Method.java:497)
>>      at 
>> org.jboss.marshalling.reflect.SerializableClass.callWriteObject(SerializableClass.java:271)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:976)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>>      at 
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>>      at 
>> org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:58)
>>      at 
>> org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:111)
>>      at 
>> org.jenkinsci.plugins.workflow.support.pickles.serialization.RiverWriter.writeObject(RiverWriter.java:133)
>>      at 
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.saveProgram(CpsThreadGroup.java:344)
>>      at 
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.saveProgram(CpsThreadGroup.java:328)
>>      at 
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:303)
>>      at 
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$000(CpsThreadGroup.java:71)
>>      at 
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:180)
>>      at 
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:178)
>>      at 
>> org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:47)
>>      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>>      at 
>> hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
>>      at 
>> jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
>>      at 
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>>      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>>      at 
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>      at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>      at java.lang.Thread.run(Thread.java:745)
>> Caused by: an exception which occurred:
>>      in field itr
>>      in field target
>>      in field continue_
>>      in field parent
>>      in field capture
>>      in field def
>>      in field closures
>>      in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@2dbe3b3c
>> Finished: FAILURE
>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/e54c95e6-eaac-4594-a9b0-c9947261e422%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to