Получить все свойства env в Jenkinsfile

Я хотел бы напечатать все доступные свойства (и их значения) в объекте env внутри Jenkinsfile.

Когда я делаю

print env

Я получил:

org.jenkinsci.plugins.workflow.cps.EnvActionImpl@112cebc2

Итак, похоже, что toString там не реализовано, как я могу получить доступ к свойствам, которые находятся в этом объекте, если я не знаю их имен?


person Krzysztof Krasoń    schedule 25.04.2016    source источник
comment
println env.overriddenEnvironment проливает на это больше света?   -  person tim_yates    schedule 25.04.2016
comment
Это дает мне null   -  person Krzysztof Krasoń    schedule 26.04.2016
comment
То же самое с env.environment ?   -  person tim_yates    schedule 26.04.2016
comment
да, это также дает null   -  person Krzysztof Krasoń    schedule 27.04.2016
comment
Я разместил ответ на stackoverflow.com/questions/37083285/, которые могут быть полезны.   -  person luka5z    schedule 09.05.2016


Ответы (3)


Убедитесь, что вы не запускаете скрипт конвейера в изолированном режиме, и вы должны иметь возможность использовать:

env.getEnvironment()

Обратите внимание: если вы работаете в режиме песочницы в конвейере, вы должны одобрить метод на странице утверждения скрипта: http://jenkins-host/scriptApproval/

person TomDotTom    schedule 08.06.2016

Чтобы получить все свойства env с помощью Jenkinsfile, написанного либо на декларативном, либо на скриптовом DSL, вы можете использовать:

sh 'env'                       

or

sh 'printenv'
person Zach Weg    schedule 15.02.2018

Как сказано здесь: https://stackoverflow.com/a/42138466/618253

Декларативный конвейерный способ ведения дел:

node {
   echo sh(returnStdout: true, script: 'env')
}
person entire    schedule 30.08.2017