可能为时已晚,但是这个工程(从https://wiki.jenkins.io/display/JENKINS/Display+timer+triggers小收养)
import hudson.model.*
import hudson.triggers.*
for(item in Hudson.instance.items) {
if(item.disabled || item instanceof com.cloudbees.hudson.plugins.folder.Folder) {
continue;
}
for(trigger in item.triggers.values()) {
if(trigger instanceof TimerTrigger) {
println("--- Timer trigger for " + item.name + " ---")
println(trigger.spec + '\n')
}
}
}
创建此输出:
--- Timer trigger for XXX ---
30 4 * * 1-5
--- Timer trigger for YYY ---
0 6 * * 1-5
而且更加复杂的脚本(从一些小的收养相同的来源)
import hudson.model.*
import hudson.triggers.*
class Timer {
String name;
String spec;
int minute;
int hour;
Timer(pname,pspec) {
name=pname;
spec=pspec;
def parts=pspec.split(" ")
minute=parts[0].toInteger()
hour=parts[1].toInteger()
}
}
def timers = []
for(item in Hudson.instance.items) {
if(item instanceof com.cloudbees.hudson.plugins.folder.Folder) {
continue;
}
for(trigger in item.triggers.values()) {
if(trigger instanceof TimerTrigger) {
try {
def timer=new Timer(item.name,trigger.spec)
timers.add(timer)
} catch (Exception ex) {
println(trigger.spec + " " + item.name)
}
}
}
}
timers.sort{a,b -> a.hour <=> b.hour ?: a.minute <=> b.minute}
for (timer in timers) {
printf("%02d:%02d %s\n",timer.hour,timer.minute,timer.name)
}
创建:
00:30 MyFixedScheduledJob
@midnight MyAroundMidnightJob
H 06 * * 1-5 MyJobWithHash
虽然此链接可以回答这个问题,最好是在这里有答案的主要部件,并提供链接以供参考。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/18473946) – Pedram
@Pedram谢谢你指出 - 我已经按照你的建议正确地改变了它。 –