如何通过windows批处理命令定义变量并在jenkins中使用

如何通过windows批处理命令定义变量并在jenkins中使用,windows,batch-file,jenkins,jenkins-pipeline,Windows,Batch File,Jenkins,Jenkins Pipeline,jenkins中的windows批处理命令 如何使用Jenkins文件在bat命令内打印作业名 script { jobName = JOB_NAME echo jobName #its printing job name bat 'echo jobName' #its not printing job name bat 'echo $jobName' #its not printing job name bat 'echo "$jobNa

jenkins中的windows批处理命令

如何使用Jenkins文件在bat命令内打印作业名

script {
     jobName = JOB_NAME 
     echo jobName  #its printing job name
     bat 'echo jobName' #its not printing job name 
     bat 'echo $jobName' #its not printing job name
     bat 'echo "$jobName"' #its not printing job name
}
script {
     bat '''
     set jobName = JOB_NAME  // could not find job name
     echo jobName  #its not printing job name
     echo "%jobName%"  #its not printing job name
     echo 'jobName'  #its not printing job name
     '''
}

如何使用Jenkins文件获取作业名称

script {
     jobName = JOB_NAME 
     echo jobName  #its printing job name
     bat 'echo jobName' #its not printing job name 
     bat 'echo $jobName' #its not printing job name
     bat 'echo "$jobName"' #its not printing job name
}
script {
     bat '''
     set jobName = JOB_NAME  // could not find job name
     echo jobName  #its not printing job name
     echo "%jobName%"  #its not printing job name
     echo 'jobName'  #its not printing job name
     '''
}

Jenkins作业参数不会自动传播到shell子级。 尝试的事项:

  • 避开美元符号的反斜杠
  • 将var名称用大括号括起来
  • 复习
  • 使用env尝试
  • 使用本机Jenkinsfile
    echo“blah”
    (或Groovy
    println“blah”
    )而不是
    sh'echo blah'

  • set jobName=JOB\u NAME
    将字符串内容
    JOB\u NAME
    分配给名为
    jobName
    的变量,因此您应该使用
    %jobName%
    或者最好正确定义变量,即
    设置“jobName=JOB\u NAME”
    。您上面提到的是一个shell脚本。但是我正在寻找一个使用jenkinsfile的批处理命令。