如何让ArtifactoryMavenBuild以变量名作为声明性Jenkins的参数运行?

如何让ArtifactoryMavenBuild以变量名作为声明性Jenkins的参数运行?,jenkins,groovy,jenkins-pipeline,artifactory,Jenkins,Groovy,Jenkins Pipeline,Artifactory,我正在尝试使用声明性语法编写Jenkins管道(如果我真的不能取得任何进展,我将切换到脚本)。但是,我不知道如何获取要存储到变量的函数的返回值,以便将该变量用作下一个函数的参数 我的管道阶段如下所示: stage ('Build') { steps { def artServer = getArtifactoryServer(artifactoryServerID: 'my-server') def mvBuild = newMavenBuild() d

我正在尝试使用声明性语法编写Jenkins管道(如果我真的不能取得任何进展,我将切换到脚本)。但是,我不知道如何获取要存储到变量的函数的返回值,以便将该变量用作下一个函数的参数

我的管道阶段如下所示:

stage ('Build') {
   steps {
      def artServer = getArtifactoryServer(artifactoryServerID: 'my-server')
      def mvBuild = newMavenBuild()
      def buildInfo = newBuildInfo()
      ArtifactoryMavenBuild(mavenBuild: mvBuild, tool: "M3", pom: "pom.xml", goals: "-B clean test -Dmaven.test.failure.ignore", opts: "", buildInfo: buildInfo)
   }
}
我的错误日志是:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 19: Expected a step @ line 19, column 17.
                   def artServer = getArtifactoryServer(artifactoryServerID: 'GE-Propel-Artifactory')
                   ^

WorkflowScript: 20: Expected a step @ line 20, column 17.
                   def mvBuild = newMavenBuild()
                   ^

WorkflowScript: 21: Expected a step @ line 21, column 17.
                   def buildInfo = newBuildInfo()
ArtifactoryMavenBuild函数在我这样放置时起作用:

stage ('Build') {
   steps {
      def artServer = getArtifactoryServer(artifactoryServerID: 'my-server')
      def mvBuild = newMavenBuild()
      def buildInfo = newBuildInfo()
      ArtifactoryMavenBuild(mavenBuild: mvBuild, tool: "M3", pom: "pom.xml", goals: "-B clean test -Dmaven.test.failure.ignore", opts: "", buildInfo: buildInfo)
   }
}
ArtifactoryMavenBuild(mavenBuild:newMavenBuild(),工具:“M3”,pom:“pom.xml”,目标:“-B clean test-Dmaven.test.failure.ignore”,选项:”,buildInfo:newBuildInfo())

但是我需要能够在以后的步骤中再次引用mvBuild和buildInfo


Artifactory插件的声明性jenkins文档如下:

尝试将脚本代码包装到
脚本{}
步骤中,如下所示:

stage ('Build') {
  steps {
    script {
       def artServer = getArtifactoryServer(artifactoryServerID: 'my-server')
       def mvBuild = newMavenBuild()
       def buildInfo = newBuildInfo()
       ArtifactoryMavenBuild(mavenBuild: mvBuild, tool: "M3", pom: "pom.xml", goals: "-B clean test -Dmaven.test.failure.ignore", opts: "", buildInfo: buildInfo)
    }
  }
}