可能爲時已晚,但是這個工程(從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謝謝你指出 - 我已經按照你的建議正確地改變了它。 –