如何在Jenkins文件中的shell命令中使用pom版本?

如何在Jenkins文件中的shell命令中使用pom版本?,jenkins,jenkins-pipeline,jenkins-plugins,Jenkins,Jenkins Pipeline,Jenkins Plugins,我试图在Jenkins文件中获取pom.xml版本,然后在shell脚本中使用该版本。 当尝试使用pom.version时,会出现异常错误替换。传递pom版本的正确语法是什么 script { def pom = readMavenPom file: 'pom.xml' withCredentials(...) { sh '''#!/bin/bash c

我试图在Jenkins文件中获取pom.xml版本,然后在shell脚本中使用该版本。 当尝试使用
pom.version
时,会出现异常
错误替换。传递pom版本的正确语法是什么

script {
    def pom = readMavenPom file: 'pom.xml'

    withCredentials(...) {

        sh '''#!/bin/bash                                        
              cp "${WORKSPACE}/target/stats-${pom.version}-shaded.jar" /xyz
        '''
    }                   
}

我为
readMavenPom
cmd安装了
Pipeline实用程序步骤
插件,但没有重新启动Jenkins。是否需要重新启动Jenkins?

如果要替换
${pom.version}
,则需要使用GString。您使用的三重引号定义了不支持变量替换的多行Java字符串。您需要将
'
替换为
'
来定义一个多行GString,它可以同时替换变量
${WORKSPACE}
${pom.version}