我在文件夹中有10个jenkins工作foo
.我baar
在文件夹中创建了一个新的子文件夹foo
.如何将10个作业从文件夹移动foo
到子文件夹baar
?
正如@Pratik Anand所提到的,您首先需要安装CloudBees文件夹插件.
但是,如果要同时移动多个项目,使用脚本控制台执行此操作要快得多.这个时髦的脚本可以解决这个问题:
def FOLDER_NAME = '<An existing destination folder>'
def JOB_REGEX = '<A regex to find your jobs>'
import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
jenkins = Jenkins.instance
def folder = jenkins.getItemByFullName(FOLDER_NAME)
if (folder == null) {
println "ERROR: Folder '$FOLDER_NAME' not found"
return
}
// Find jobs in main folder
def found = jenkins.items.grep { it.name =~ "${JOB_REGEX}" }
println "Searching main folder : $found"
// Find jobs in other subfolders
jenkins.items.grep { it instanceof com.cloudbees.hudson.plugins.folder.Folder }.each { subfolder ->
if(!subfolder.getName().equals(FOLDER_NAME))
{
println "Searching folder '$subfolder.name'"
subfolder.getItems().grep { it.name =~ "${JOB_REGEX}" }.each { job ->
println "Found $job.name"
found.add(job);
}
}
}
// Move them
found.each { job ->
println "Moving '$job.name' to '$folder.name'"
Items.move(job, folder)
}
Run Code Online (Sandbox Code Playgroud)
我在这个帖子中使用了Daniel Serodio的回复,并将其修改为搜索子文件夹.请注意,这不是完全递归的.
归档时间: |
|
查看次数: |
25929 次 |
最近记录: |