Last active
June 30, 2020 05:05
-
-
Save LarrysGIT/a5cda556d07c7d83b2977b1d0822ec87 to your computer and use it in GitHub Desktop.
Jenkins pipeline - get next cron execution time of a job
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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