Как экспортировать переменную из sh step во внешнюю sh step в jenkins - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь отправить файл по электронной почте после сборки. Сборка обновляет файл file1.json. Ее моя проблема. После сборки я пытаюсь создать переменную, которая является cat1.json (это работает), а затем я пытаюсь отправить эту переменную по электронной почте в электронной почте.

Stage {
       stage('Build'){\
         sh """
            npm install // builds and update the value in json file 
            UUID="`cat file1.json`"  //outputs the string inside file which is what I want 
            echo \$UUID //shows the value here
         """
         emailext body:  "$UUID", //need the value here 
           subject: "$currentBuild.currentResult-$JOB_NAME",
           to: 'someone@test.com'
} 
`
The error message is groovy.lang.MissingPropertyException: No such property: UUID for class: groovy.lang.Binding
    at groovy.lang.Binding.getVariable(Binding.java:63)
    at 

1 Ответ

2 голосов
/ 11 марта 2019

Вы можете использовать опцию returnStdout: true из sh() step, чтобы получить выходные данные оболочки.

stage('Build'){

    script {

        sh 'npm install' // builds and update the value in json file 

        UUID = sh (script: 'cat file1.json', returnStdout: true).trim()

        emailext body:  "$UUID",  subject: "$currentBuild.currentResult-$JOB_NAME", to: 'someone@test.com'
    }

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