无法在jenkins中使用变量参数调用远程参数化作业。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在jenkins中使用变量参数调用远程参数化作业。相关的知识,希望对你有一定的参考价值。

我正在使用jenkins声明式管道调用远程参数化作业。以下是脚本。

    def svnRevision 

      def esmBuildVerison

      pipeline {
       agent any

      stages {
         stage('SVN Checkout') {

         steps {
            echo 'SVN Checkout'
            script {
             svnCheckout = checkout([$class: 'SubversionSCM',
                additionalCredentials: [],
                excludedCommitMessages: '', 
                excludedRegions: '', 
                excludedRevprop: '', 
                excludedUsers: '', 
                filterChangelog: false, 
                ignoreDirPropChanges: false, 
                includedRegions: '', 
                locations: [[cancelProcessOnExternalsFail: true,
                    credentialsId: 'xyz', 
                    depthOption: 'infinity', 
                    ignoreExternalsOption: true, 
                    local: '.', 
                    remote: 'svn url']],
                    quietOperation: true,
            workspaceUpdater: [$class: 'UpdateUpdater']])
            svnRevision = svnCheckout.SVN_REVISION
            echo svnRevision

            esmBuildVerison = "4.28.${BUILD_NUMBER}.${svnCheckout.SVN_REVISION}"
            echo esmBuildVerison 
            }
         }
      }

     stage('Building Code + Sonar Analysis')  {

         steps {
               //building project

         }
     }  

    stage('Calling test Smoke Suite') {
         when {
             expression {
                 return currentBuild.result != 'FAILURE'
             }
         }
         steps {
             echo 'executing smoke suite'
             triggerRemoteJob enhancedLogging: true, job: 'Smoke Suite', maxConn: 1, parameters: 'DevelopmentVersion=4.28.${BUILD_NUMBER}.${svnCheckout.SVN_REVISION}', pollInterval: 100, remoteJenkinsUrl: 'url', token: 'token', useCrumbCache: true, useJobInfoCache: true
         }
     }

}

这里,当我在 triggerRemoteJob 的参数'DevelopmentVersion'中传递 4.28.${BUILD_NUMBER}.${svnCheckout.SVN_REVISION} 时,它被评估为 4.28.70.${svnCheckout.SVN_REVISION}。但是我需要发送svn版本号给远程作业,但是 triggerRemoteJob并没有评估${svnCheckout.SVN_REVISION},而是评估${BUILD_NUMBER}。

我尝试了许多组合,但都是徒劳的。任何关于这个问题的帮助都将被感激。

以上是关于无法在jenkins中使用变量参数调用远程参数化作业。的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins定时构建并传递构建参数

远程(jenkins)调用shell 不能正常结束

Jenkins 在 groovy 脚本中检索主动选择参数

尝试使用 wget 触发远程 Jenkins 作业时出现 405 错误

jenkins参数化构建过程中的各个参数之间是没有关联的吗

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