我正在尝试使用DSL作业插件在Jenkins中创建新的工作。有没有办法在创建作业时指定视图?
例如,我有一个视图NewJobsView
。我想创建一个名为dsl-job
的DSL作业,它正在创建一个新作业“dsl-created-job1”
job {
name 'dsl-created-job1'
//view 'NewJobsView'
//or view {...} to specify the view
}
答案 0 :(得分:3)
如果你这样做:
def myJob=job{name('test1')}
def myJob2=job{name('test2')}
view {
name('view1')
jobs{
name(myJob.name)
name(myJob2.name)
}
}
甚至在视图中使用正则表达式。
更新
关于讨论。 嵌套视图只是一种不同的视图。作业config.xml没有引用视图,因为jenkins有不同的抽象:视图引用作业。
答案 1 :(得分:1)
我得到了这个工作。它创建一个作业,然后创建一个视图并将作业添加到视图中。此解决方案每次都会重新创建视图。您可以使用姓名(' jobname1')或姓名(' jobname1',' jobname2')添加多个职位。您还可以以相同的方式添加按名称引用它们的现有作业。
job{
name('DSL JOB')
description('This is a Test Job')
triggers{
cron('H/20 7-20 * * 1-5')
}
}
view(type:ListView){
name('DSL-JOBS')
description('Test View of DSL Job')
filterBuildQueue()
filterExecutors()
jobs{
name('DSL JOB')
}
columns{
status()
weather()
name()
lastSuccess()
lastFailure()
lastDuration()
buildButton()
lastBuildConsole()
}
}
答案 2 :(得分:0)
如果您只想将生成的作业放在现有视图中而不必在几十个作业中查找它而不必每次都重新创建视图,这里有一个非常简单的解决方法:
您可能还想查看this回答。