import jenkins.model.*
import hudson.model.*
import hudson.slaves.*
import groovy.json.*
buildInfo = [:]
pipeline {
agent any
stages {
stage('Hello') {
steps {
script {
buildEnv='ubuntu-18.04,centos-7'
buildEnv.split(',').each { buildOS ->
buildInfo["${buildOS}"] = [:]
for(i=0;i<10;i++){
buildInfo["${buildOS}"]["job-${i}"] = "values---${i}"
}
}
echo "${buildInfo}"
echo "buildInfo in groovy: ${buildInfo}"
jsonString = JsonOutput.toJson(buildInfo)
echo "jsonString: ${jsonString}"
}
}
}
}
}
输出结果为:
18:44:33 [Pipeline] Start of Pipeline
18:44:35 [Pipeline] node
18:44:37 Running on Jenkins in /var/jenkins_home/workspace/test
18:44:37 [Pipeline] {
18:44:42 [Pipeline] stage
18:44:42 [Pipeline] { (Hello)
18:44:49 [Pipeline] script
18:44:49 [Pipeline] {
18:44:54 [Pipeline] echo
18:44:54 [ubuntu-18.04:[job-0:values---0, job-1:values---1, job-2:values---2, job-3:values---3, job-4:values---4, job-5:values---5, job-6:values---6, job-7:values---7, job-8:values---8, job-9:values---9], centos-7:[job-0:values---0, job-1:values---1, job-2:values---2, job-3:values---3, job-4:values---4, job-5:values---5, job-6:values---6, job-7:values---7, job-8:values---8, job-9:values---9]]
18:44:54 [Pipeline] echo
18:44:54 buildInfo in groovy: [ubuntu-18.04:[job-0:values---0, job-1:values---1, job-2:values---2, job-3:values---3, job-4:values---4, job-5:values---5, job-6:values---6, job-7:values---7, job-8:values---8, job-9:values---9], centos-7:[job-0:values---0, job-1:values---1, job-2:values---2, job-3:values---3, job-4:values---4, job-5:values---5, job-6:values---6, job-7:values---7, job-8:values---8, job-9:values---9]]
18:44:54 [Pipeline] echo
18:44:54 jsonString: {"ubuntu-18.04":{"job-0":"values---0","job-1":"values---1","job-2":"values---2","job-3":"values---3","job-4":"values---4","job-5":"values---5","job-6":"values---6","job-7":"values---7","job-8":"values---8","job-9":"values---9"},"centos-7":{"job-0":"values---0","job-1":"values---1","job-2":"values---2","job-3":"values---3","job-4":"values---4","job-5":"values---5","job-6":"values---6","job-7":"values---7","job-8":"values---8","job-9":"values---9"}}
18:44:54 [Pipeline] }
18:44:55 [Pipeline] // script
18:44:56 [Pipeline] }
18:44:56 [Pipeline] // stage
18:44:57 [Pipeline] }
18:44:57 [Pipeline] // node
18:44:58 [Pipeline] End of Pipeline
18:44:58 Finished: SUCCESS