Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-70381

Can't access environment in windows bat script in pipline

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • pipeline
    • jenkins 2.332.1

      pipeline {
        agent {label 'windows'}
       parameters {
          choice(choices: ['22.03', '20.03', '22.09'], name: 'release')     }
      
        environment {
          release_version = '0'    
        }
      
        stages {
          stage('prepare') {
            steps {
              script {
                nstdout = bat(returnStdout: true, script: '@python get_sp_version.py %release%').trim()                                
                release_version = nstdout                    
                println("stdout ####" + release_version + "###########")
              }
           bat "echo %release_version%.%BUILD_NUMBER%"
           echo "${release_version}.${BUILD_NUMBER}"
         }
         }
        }
      }
      

      The code above will output like:
       

      stdout ####2203.1###########
      0.47
      2203.1.47
      

       
      2203.1 is the value of the nstdout and release_version.

      My expected output is

       

      stdout ####2203.1########### 
      2203.1.47
      2203.1.47

       

      Am i missing something?
      IMO the env var can be accessed by the bat script directly, right?

            Unassigned Unassigned
            pkking chaoran
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: