如何在管道中使用Jenkins String Parameter

时间:2016-10-19 12:07:13

标签: jenkins groovy jenkins-plugins jenkins-pipeline

我们使用Jenkins Pipeline在jenkins中配置作业。对于一堆作业,我们需要用户输入,我们使用参数化构建,用户可以输入参数值,稍后我们使用.jenkins文件中的值,如

 sh "./build-apply.sh ${accountnumber} ${volumename} ${vpcname} services ${snapshotid}"

这曾经与

一起使用
  • Jenkins 2.16
  • Pipeline 2.3
  • Groovy 2.15

但是,当我重建Jenkins时:

  • 2.16或最新2.26
  • Pipeline 2.5
  • Pipeline:Groovy 2.19

以上sh停止了工作。错误

groovy.lang.MissingPropertyException: No such property: accountnumber for class: groovy.lang.Binding

知道我错过了什么吗?语法不正确吗?

供参考完整Jenkinsfile以供参考

node {
  // Mark the code checkout 'stage'....


  stage 'Checkout'
  git branch: '****', credentialsId: '***', url: '****'

  stage 'Provision Volume'
  withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: '*****',
                    credentialsId: '****',
                    secretKeyVariable: '*****']]) {
    // Run the terraform build
    env.PATH = "${env.PATH}:/jenkins/terraform"
    sh "./build-apply.sh ${accountnumber} ${volumename} ${vpcname} services ${snapshotid}"
  }
}

1 个答案:

答案 0 :(得分:0)

将以下代码复制并粘贴到管道脚本中 节点:{

stage ('BCCdlVsLib') {
build job: 'BCCdlVsLib', parameters:
[
    [$class: 'StringParameterValue', name: 'BINPATH', value: 'BINPATH'], 
    [$class: 'StringParameterValue', name: 'SOURCEFILE', value: 'SOURCEFILE']
        ]
}

在作业(BCCdlVsLib)中启用“此项目已参数化”选项并输入2个字符串参数job_binpath,job_sourcefile。

在管道作业中打印变量 echo job_binpath echo job_sourcefile

运行管道作业后,将获得以下输出。 BINPATH 的资源文件