Daniel, Thanks for the .each pointer, that's saved me some head scratching
Robin On Monday, February 9, 2015 at 5:47:04 PM UTC, Daniel Beck wrote: > > 'each' is currently broken in Workflow CPS scripts. > > https://issues.jenkins-ci.org/browse/JENKINS-26481 > > On 09.02.2015, at 18:25, Brian Ray <[email protected] <javascript:>> > wrote: > > > Hi Robin, > > > > The simplest Groovy idiom for iterating over a collection is > > > > hostnames.each { host -> > > do something interesting with host ... > > } > > > > > > > > Does this work? > > > > Brian > > > > On Monday, February 9, 2015 at 5:48:11 AM UTC-8, Robin Tegg wrote: > > Hi all, > > > > I've been trying out the workflow plugin after watching the > pimp-your-continuous-delivery-pipeline-with-jenkins-workflow-wjax-14 demo. > And in one of the slides (24), there is an example of a for loop that looks > to iterate over a list of hostnames. I've assumed that hostnames is a list > > > > def hostnames = ["192.168.0.1", "192.168.0.2"] > > for( def hostname: hostnames ) { > > sh "ssh ${hostname} ..." > > } > > > > I'm wondering if anyone can help with my usage of arrays/lists. I'm > getting the following errors when I try the above: > > > > java.io.NotSerializableException: java.util.AbstractList$Itr > > > > Now I understand from the docs ( > https://github.com/jenkinsci/workflow-plugin/blob/master/TUTORIAL.md#serialization-of-local-variables) > > that some variables can't be serialized before a "sh" step might happen, > but as I'm new to groovy I'm struggling to understand how the above might > be achieved. I've tried in a method and inline as suggested. > > > > The workaround I have at the moment is > > > > def hostnames = ["192.168.0.1", "192.168.0.2"] > > for( int i = 0; i < hostnames.size(); i++) { > > sh "ssh ${hostnames.get(i)} ..." > > } > > > > Any pointers would be much appreciated > > > > Thanks > > Robin > > > > -- > > 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] <javascript:>. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-users/9dde8b3d-04a5-4644-96a0-2930f78c4978%40googlegroups.com. > > > > For more options, visit https://groups.google.com/d/optout. > > -- 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/193e90be-16d5-4948-9efd-f8f41214dc37%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
