Skip to content

Instantly share code, notes, and snippets.

@LarrysGIT
Last active June 30, 2020 05:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LarrysGIT/a5cda556d07c7d83b2977b1d0822ec87 to your computer and use it in GitHub Desktop.
Save LarrysGIT/a5cda556d07c7d83b2977b1d0822ec87 to your computer and use it in GitHub Desktop.
Jenkins pipeline - get next cron execution time of a job
/*
Inspired by
https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/triggers/TimerTrigger.java#L107
Some approvals are required in Jenkins in order to execute the following sample
*/
import hudson.scheduler.CronTabList;
pipeline {
agent any
stages {
stage('Set up environment') {
steps {
script {
def job = Jenkins.instance.getJob("A job has cron defined")
for(trigger in job.triggers.values()) {
println trigger.job.name
println trigger.spec
CronTabList ctl = CronTabList.create(trigger.spec)
Calendar previous = ctl.previous()
Calendar next = ctl.next()
println previous.getTime()
println next.getTime()
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment