Jenkins dsl配置块生成的XML不';不匹配API

Jenkins dsl配置块生成的XML不';不匹配API,jenkins,groovy,jenkins-plugins,jenkins-job-dsl,Jenkins,Groovy,Jenkins Plugins,Jenkins Job Dsl,我在Jenkins为我们自己的公司应用程序使用定制插件。在将所有现有Jenkins作业转换为DSL脚本时,这意味着我需要使用configure块来包含使用此插件运行的任务。我认为我已经正确地编写了DSL代码,因为当我将其输入时,它会生成与我当前的config.XML作业完全匹配的XML。然而,当我在Jenkins中运行DSL脚本并生成作业时,它缺少一个关键的XML块,我不知道为什么 脚本中包含的配置块代码是: configure { project -> project / 'b

我在Jenkins为我们自己的公司应用程序使用定制插件。在将所有现有Jenkins作业转换为DSL脚本时,这意味着我需要使用configure块来包含使用此插件运行的任务。我认为我已经正确地编写了DSL代码,因为当我将其输入时,它会生成与我当前的config.XML作业完全匹配的XML。然而,当我在Jenkins中运行DSL脚本并生成作业时,它缺少一个关键的XML块,我不知道为什么

脚本中包含的配置块代码是:

configure { project ->

    project / 'builders' << 'org.mycompany.myapp.jenkins.plugin.Builder' {
      modelOption'modelDownload'
      appOption'appZip'
      execParameters'-debug'
      taskPath 'UnitTests/All.task'
    project / 'builders' / 'tasks' << 'org.mycompany.myapp.jenkins.plugin.Builder_-myappTask' {
      taskPath 'UnitTests/All.task'
    project / 'builders' / 'tasks' / 'parameters'
    }
      modelPath ''
      nexusUrl ''
      nexusUser ''
      nexusPass ''
      myappZipName 'org.mycompany.myapp-win32.win32.x86_64.zip'
    }
      overwriteMyApp ''
  }
配置{project->

project/'builders'因此,经过更多的研究,现在我已经设法找出了如何正确地将子元素传递到configure块中,以及我在这里所做的错误。下面是正确的代码

 configure { project ->

    project / 'builders' << 'org.mycompany.myapp.jenkins.plugin.Builder' {
      modelOption'modelDownload'
      appOption'appZip'
      tasks { 
          tasks << 'org.mycompany.myapp.jenkins.plugin.Builder_-myappTask' {
      taskPath 'UnitTests/All.task'
      parameters ''
          }
      }
      modelPath ''
      nexusUrl ''
      nexusUser ''
      nexusPass ''
      appZipName 'org.mycompany.myapp-win32.win32.x86_64.zip'
      execParameters'-debug'
        }
      overwriteMyApp ''
  }
配置{project->
项目/建筑商
<org.mycompany.myapp.jenkins.plugin.Builder plugin="myapp-jenkins-plugin@1.0-SNAPSHOT">
<modelOption>modelDownload</modelOption>
<appOption>appZip</appOption>
<tasks>
<org.mycompany.myapp.jenkins.plugin.Builder_-myappTask>
<taskPath>UnitTests\All.task</taskPath>
<parameters/>
</org.mycompany.myapp.jenkins.plugin.Builder_-myappTask>
</tasks>
<modelPath/>
<nexusUrl/>
<nexusUser/>
<nexusPass/>
<myappZipName>org.mycompany.myapp-win32.win32.x86_64.zip</myappZipName>
<execParameters>-debug</execParameters>
<overwritemyapp>false</overwritemyapp>
</org.mycompany.myapp.jenkins.plugin.Builder>
 configure { project ->

    project / 'builders' << 'org.mycompany.myapp.jenkins.plugin.Builder' {
      modelOption'modelDownload'
      appOption'appZip'
      tasks { 
          tasks << 'org.mycompany.myapp.jenkins.plugin.Builder_-myappTask' {
      taskPath 'UnitTests/All.task'
      parameters ''
          }
      }
      modelPath ''
      nexusUrl ''
      nexusUser ''
      nexusPass ''
      appZipName 'org.mycompany.myapp-win32.win32.x86_64.zip'
      execParameters'-debug'
        }
      overwriteMyApp ''
  }