-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathshow_jobinfo.groovy
58 lines (51 loc) · 1.28 KB
/
show_jobinfo.groovy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
import hudson.scm.*
import hudson.tasks.*
import com.cloudbees.hudson.plugins.folder.*
in_view_jobs=[]
def showJobInfo(view1, view2, input_job) {
if(input_job instanceof com.cloudbees.hudson.plugins.folder.Folder ) return;
def f_build=input_job.getLastFailedBuild()
def s_build=input_job.getLastSuccessfulBuild()
f_build_time=f_build?.getTime()?.format("YYYY-MMM-dd")
s_build_time=s_build?.getTime()?.format("YYYY-MMM-dd")
info=[
view1,
view2,
input_job.name,
input_job.disabled,
input_job.assignedLabel,
f_build_time,
s_build_time
].join('\t')
println info
}
Jenkins.instance.getViews().each{
view1=it.name
if(it instanceof AllView) return;
if(it instanceof ListView) {
it.items.each(){input_job->
view2="view2"
in_view_jobs.add(input_job.name)
showJobInfo(view1,view2,input_job)
}
}
else{
it.getViews().each{
view2=it.name
it.items.each{input_job->
in_view_jobs.add(input_job.name)
showJobInfo(view1,view2,input_job)
}
}
}
}
Jenkins.instance.items.each{
if(it.name in in_view_jobs) return
in_view_jobs.add(it.name)
showJobInfo("view1","view2",it)
}
""