0

Using groovy, how can I substitute the value of an array in another array variable?

For eg.:

def Env = [
    'Env1',
    'Env2',
    'Env3'
]

def Job = [
 [
    name: "Job1",
    label: "<$Env>",
    action: #!/usr/bin/bash
             blah
             blah          
 ],
 [
    name: "Job2",
    label: "<$Env>",
    action: #!/usr/bin/bash
             blah
             blah
 ]

]

I want the label field in the second array Job to be populated by every item in Env

1 Answers1

0

If the code isn't dynamic you can just do:

def Env = ['Env1','Env2', 'Env3']

def Job = [  
[     
    name: "Job1",     
    label: "<${Env[0]}>",     
    action: '#!/usr/bin/bash'
],  
[     
    name: "Job2",     
    label: "<${Env[1]}>",     
    action: '#!/usr/bin/bash'
]
]

If it's dynamic you can do:

Job.eachWithIndex{ obj, idx ->
    obj.label = Env[idx]
}
Mike W
  • 3,853
  • 2
  • 11
  • 18