Wenn Sie einen Schritt in einem Projekt ausgeführt wird, dann gibt es eine Umgebungsvariable JOB_NAME
, die in groovy Sie
String jobName = System.getenv('JOB_NAME')
zugreifen Wenn Sie es bauen stellen dann Überprüfen Sie diese Antwort How to get specific information about the current build project in Jenkins with Groovy?
Wie bei der zusätzlichen Frage, um Zugriff auf den Jenkins-Job-Namen in der Setup-Phase benötigen Sie um die EnvInject plugin zu verwenden, die stark unterstützt - die neue Umgebung
braucht es eine Karte zurückzukehren
println "currentJob -->${currentJob}"
println "currentBuild --> ${currentBuild}"
[currentJob: currentJob, currentBuild: currentBuild]
Dies ist der Ausgang, wenn ich ein Shell-Job verwenden
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
Sie zu Echo brauchen eine String-Manipulation zu tun den Job zu trennen und
Vielen Dank –
Mann, in den dynamischen Parameter dieses –
nicht funktionieren Du hast Recht. wenn Sie dies in der dynamischen Eigenschaft 'System.getenv() tun. jeder {println es}' dann ist es nicht die JENKINS Umgebung auflisten. – KeepCalmAndCarryOn