Je souhaite obtenir l’obtention de l’horodatage actuel dans un script de pipeline en ligne à l’aide du plugin pipeline de hudson. Pour configurer le nom d'affichage de la construction.
Script groovy intégré utilisé:
def jobName = env.JOB_NAME + "_" + new Date()
currentBuild.displayName = "$jobName"
node {
echo "job name $jobName"
}
Erreur sur la console:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:
Scripts not permitted to use new Java.util.Date
Les scripts Jenkins s'exécutent dans un bac à sable. Par défaut, le script Groovy ne dispose pas des autorisations nécessaires pour certaines opérations.
Lorsque vous effectuez une opération sans autorisation, la variable RejectAccessException
est renvoyée. Donc, vous devez exécuter votre script, puis lorsque l'exception est levée, allez à:
http://yourHost/jenkins/scriptApproval/
Et approuver l'autorisation nécessaire:
vous pouvez aussi l'utiliser, j'en avais besoin sous ms donc:
echo "TimeStamp: ${currentBuild.startTimeInMillis}"
echo "TimeStamp: ${Util.getTimeSpanString(System.currentTimeMillis())}"
Il suffit de formater l'objet Date
:
stage('Foo') {
steps {
script {
def now = new Date()
println now.format("yyMMdd.HHmm", TimeZone.getTimeZone('UTC'))
}
}
}