Использовать строковый параметр. Сериализуйте ваши данные в CallingPipeline и десериализуйте их в CalledPipeline. Это простая задача с использованием Groovy классов JsonOutput
и JsonSlurper
. По сравнению с простым соединением / разделением этот подход может использоваться даже для более сложных данных (например, вложенных объектов).
CallingPipeline
import groovy.json.JsonOutput
node {
stage('test') {
def myArray = [ 42, 'bar', 'baz' ]
build job: 'CalledPipeline', parameters: [
string(name: 'myParam', value: JsonOutput.toJson( myArray ) )
]
}
}
CalledPipeline
import groovy.json.JsonSlurper
node {
stage('test') {
echo "myParam: $myParam"
def myParamObject = new JsonSlurper().parseText( myParam )
for( def elem in myParamObject ) {
echo "$elem"
}
}
}
Вывод:
myParam: [42,"bar","baz"]
42
bar
baz