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

help with the for loop

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Minor Minor
    • _unsorted
    • None
    • Jenkins 2.289.1

      Hi!

      I am trying to pass a variable in a loop to the shell script

       

      pipeline {
          agent any     
             stages {     
                stage('Test') {     
                    steps {                 
                       script {
                          elements = ['1', '2', '3', '4']
                              for (String val in elements){
                                  echo val
                                     check = sh (script: """bash ./check_access/check.sh ${val}""", returnStdout: true).trim()                            
                                     echo "check: ${check}"                          
                              }
                       }
                    }
                }
              }
      }
      

       

      check.sh
      #!/bin/sh
      echo "val: $val"
      

      this is what i get

      18:13:30  1
      [Pipeline] sh
      18:13:31  + bash ./check_access/check.sh 1
      [Pipeline] echo
      18:13:31  check: val:
      [Pipeline] echo
      18:13:31  2
      [Pipeline] sh
      18:13:31  + bash ./check_access/check.sh 2
      [Pipeline] echo
      18:13:31  check: val:
      [Pipeline] echo
      18:13:31  3
      [Pipeline] sh
      18:13:31  + bash ./check_access/check.sh 3
      [Pipeline] echo
      18:13:31  check: val:
      [Pipeline] echo
      18:13:31  4
      [Pipeline] sh
      18:13:32  + bash ./check_access/check.sh 4
      [Pipeline] echo
      18:13:32  check: val:
      [Pipeline] echo
      18:13:32  5
      [Pipeline] sh
      18:13:32  + bash ./check_access/check.sh 5
      [Pipeline] echo
      18:13:32  check: val:
      

      desired result

      bash ./check_access/check.sh 1
      check: val: 1
      bash ./check_access/check.sh 2
      check: val: 2
      bash ./check_access/check.sh 4
      check: val: 3
      bash ./check_access/check.sh 4
      check: val: 4
      bash ./check_access/check.sh 5
      check: val: 5
      

      Could you please help

       

            Unassigned Unassigned
            lozhkin yuriy lozhkin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: