Jenkins 如何在groovy中向函数传递多个映射

Jenkins 如何在groovy中向函数传递多个映射,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,例如:我想将容器信息传递给一个函数,并为它构造一个yaml字符串,就像 def containers(List<Map> data) { def yamlString = """ apiVersion: v1 kind: Pod spec: containers: - name: container.name image: c

例如:我想将容器信息传递给一个函数,并为它构造一个yaml字符串,就像

def containers(List<Map> data) {

    def yamlString = """
        apiVersion: v1
        kind: Pod
        spec:
          containers:
            - name: container.name
              image: container.image
              workingDir: /home/jenkins
              resources:
                requests:
                  memory: "66Mi"
                  cpu: "44m"
                limits:
                  memory: "99Mi"
                  cpu: "88m"
              command:
                - cat
              tty: true
    }
    """
    return yamlString
}

containers ([name: 'maven', image: 'repo/maven:3.5.2-jdk-8'],
            [name: 'ansible', image: 'repo/ansible:3.5.2-jdk-8'])
def容器(列表数据){
def yamlString=“”
版本:v1
种类:豆荚
规格:
容器:
-名称:container.name
image:container.image
工作目录:/home/jenkins
资源:
请求:
记忆:“66英里”
cpu:“44m”
限制:
记忆:“99英里”
cpu:“88m”
命令:
-猫
tty:是的
}
"""
返回yamlString
}
容器([name:'maven',image:'repo/maven:3.5.2-jdk-8'],
[名称:'ansible',图像:'repo/ansible:3.5.2-jdk-8']
我知道语法和方法是完全错误的。我是groovy的新手

def容器(列表数据){
def containers(List<Map> data) {
    data.collect {
        """
        apiVersion: v1
        kind: Pod
        spec:
          containers:
            - name: $it.name
              image: $it.image
              workingDir: /home/jenkins
              resources:
                requests:
                  memory: "66Mi"
                  cpu: "44m"
                limits:
                  memory: "99Mi"
                  cpu: "88m"
              command:
                - cat
              tty: true
        """
    }
}
收集数据{ """ 版本:v1 种类:豆荚 规格: 容器: -name:$it.name image:$it.image 工作目录:/home/jenkins 资源: 请求: 记忆:“66英里” cpu:“44m” 限制: 记忆:“99英里” cpu:“88m” 命令: -猫 tty:是的 """ } }
将返回字符串列表