Se si esegue un passo di un progetto poi c'è un ambiente JOB_NAME variabile
che in Groovy è possibile accedere
String jobName = System.getenv('JOB_NAME')
Se si desidera inviare costruire poi controlla questa risposta How to get specific information about the current build project in Jenkins with Groovy?
Come per la domanda aggiuntiva, per ottenere l'accesso al nome del lavoro Jenkins nella fase di impostazione che è necessario di utilizzare la EnvInject plugin che supporta Groovy - ha bisogno di restituire una mappa
println "currentJob -->${currentJob}"
println "currentBuild --> ${currentBuild}"
[currentJob: currentJob, currentBuild: currentBuild]
Questa è l'uscita quando uso un lavoro shell eco il nuovo ambiente
Started by user anonymous
[EnvInject] - Loading node environment variables.
[EnvInject] - Preparing an environment for the build.
[EnvInject] - Keeping Jenkins system variables.
[EnvInject] - Keeping Jenkins build variables.
[EnvInject] - Evaluation the following Groovy script content:
println "currentJob -->${currentJob}"
println "currentBuild --> ${currentBuild}"
[currentJob: currentJob, currentBuild: currentBuild]
currentJob -->[email protected][_xxx]
currentBuild --> _xxx #6
[EnvInject] - Injecting contributions.
Building on master in workspace /var/lib/jenkins/workspace/_xxx
[_xxx] $ /bin/sh -xe /tmp/hudson3812821436584477615.sh
+ echo _xxx #6
_xxx #6
+ echo [email protected][_xxx]
[email protected][_xxx]
Finished: SUCCESS
Hai bisogno di fare un po 'di manipolazione di stringhe per separare il lavoro e creare
Grazie mille –
Uomo, nel parametro dinamico questo non funziona –
Hai ragione. se lo fai nella proprietà dinamica 'System.getenv(). each {println it}' allora non elenca l'ambiente JENKINS. – KeepCalmAndCarryOn