Как передать groovy переменную в powershell в конвейере Jenkins? - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь передать переменную groovy в скрипт powershell внутри конвейера jenkins, все в одном месте, но я не знаю как.Я пробовал разные способы без успеха.

Мне нужно это, чтобы получить имя человека, который утвердил шаг PIPELINE, и передать его в powershell, который соединяется с SQL SERVER

    stage('Step1'){
      steps{ 
        script{
         def approverDEV
         approverDEV = input id: 'test', message: 'Hello', ok: 'Proceed?', parameters: [choice(choices: 'apple\npear\norange', description: 'Select a fruit for this build', name: 'FRUIT'), string(defaultValue: '', description: '', name: 'myparam')], submitter: 'user1,user2,group1', submitterParameter: 'APPROVER'

          echo "This build was approved by: ${approverDEV['APPROVER']}"
        }
      }
    }

stage('Step2'){
  steps{ 
    script{
      powershell ('''
       # Example echo "${approverDEV['APPROVER']}"
       # BUT THIS DOESN'T WORK :(
      ''')
    }
  }
}

Я ожидаю, что на выходе будет имяутверждающий хранится в переменной GROOVY ApproverDEV

1 Ответ

0 голосов
/ 03 апреля 2019

Дагетт верен, используйте двойные кавычки вокруг скрипта powershell, затем переменные будут оценены:

script{
  powershell ("""
   # Example echo "${approverDEV['APPROVER']}"
   # BUT THIS DOESN'T WORK :(
  """)
}

Использование тройных двойных кавычек в Groovy называется «многострочная GString».В GString переменные будут оцениваться перед созданием фактической строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...