これには、ビューを作成するためのインターフェースも含まれているjenkins job dslを使用できます
これを使用して、ビュー内のジョブを反復できます
http://<your jenkins server>:<your jenkins port if its not on 80>/view/<your view>/api/json
次に、ジョブコマンドでジョブを複製します
job{
name 'new name'
using 'original name'
//other configuration
}
これはすべて、別のジョブのビルドステップとして groovy でコーディングされています。ビューとジョブに名前を付けたり、SCM から追い出すためのパラメーターを設定することもできます。
編集いい質問です。こんな感じで実装しました
templateView という名前のビュー
templateJobA、templateJobBなどと呼ばれるジョブ
def templateJobsURL = new URL("http://jenkins-server:8080/view/templateView/api/json")
def templateJobs = new groovy.json.JsonSlurper().parse(templateJobsURL.newReader())
def newJobs = []
templateJobs.jobs.each {
def templateName = it.name
def newName = templateName.replaceAll('template','new')
job {
name newName
using templateName
}
newJobs.push(newName)
println templateName + ' ' + newName
}
view(type: ListView) {
name('new')
description('All jobs for project A')
jobs {
newJobs.each{
names (it)
println 'view add ' + it
}
}
columns {
status()
weather()
name()
lastSuccess()
lastFailure()
lastDuration()
buildButton()
}
}