web-dev-qa-db-fra.com

Récupère toutes les propriétés de env dans Jenkinsfile

Je voudrais imprimer toutes les propriétés disponibles (et leurs valeurs) dans l'objet env à l'intérieur de Jenkinsfile.

Quand je fais

print env

Je reçois:

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

On dirait donc que toString n’est pas implémenté ici. Comment puis-je accéder aux propriétés qui se trouvent dans cet objet si je ne connais pas leurs noms?

15
Krzysztof Krasoń

Assurez-vous de ne pas exécuter le script de pipeline en mode bac à sable et vous devriez pouvoir utiliser:

env.getEnvironment()

Remarque: si vous exécutez en mode bac à sable dans un pipeline, vous devez approuver la méthode sur la page d'approbation de script: http://jenkins-Host/scriptApproval/

14
TomDotTom

Comme dit ici: https://stackoverflow.com/a/42138466/618253

La façon déclarative de faire les choses en pipeline:

node {
   echo sh(returnStdout: true, script: 'env')
}
1
entire

Pour récupérer toutes les propriétés env à l'aide d'un fichier Jenkins écrit en DSL déclaratif ou scripté, vous pouvez utiliser:

sh 'env'                       

ou

sh 'printenv'
0
Zach Weg