jenkins批量复制view中所有job

 时间:2026-02-15 00:02:30

1、新建view

jenkins批量复制view中所有job

2、打开系统管理

jenkins批量复制view中所有job

3、打开脚本命令行

jenkins批量复制view中所有job

4、//源view

def str_view = "dev-XX"

//目标view

def str_new_view = "dev-FF"

//源job名称(模糊匹配)

def str_search = "dev-XX"

//目标job名称(模糊匹配后替换)

def str_replace = "dev-FF"

def view = Hudson.instance.getView(str_view)

//copy all projects of a view

for(item in view.getItems())

{

  //create the new project name

  newName = item.getName().replace(str_search, str_replace)

  // copy the job, disable and save it

  def job

  try {

  //因为第一次导入后报错,所以添加了try-catch 跳过已存在的job

  job = Hudson.instance.copy(item, newName)

  } catch(IllegalArgumentException e) {

     println(e.toString())

     println("$newName job is exists")

     continue

  } catch(Exception e) {

    println(e.toString())

    continue

  }

  job.disabled = true

  job.save() 

  // update the workspace to avoid having two projects point to the same location

  AbstractProject project = job

  def new_workspace = project.getCustomWorkspace().replace(str_search, str_replace)

  project.setCustomWorkspace(new_workspace)

  project.save()

  //add job to view

  Hudson.instance.getView(str_new_view).add(job)

  println(" $item.name copied as $newName")

}

jenkins批量复制view中所有job

5、刷新新建的视图,看看项目被复制过来没有。如果没有,则编辑视图

jenkins批量复制view中所有job

6、复制的项目会出现在列表中,勾选归类到该视图下

jenkins批量复制view中所有job

7、目的已经实现,偷懒成功,耶耶😚

  • RationalDMIS导入理论测量点(TXT文本)检测
  • 如何使用ASP.NET(C#)代码获取客户端IP地址
  • 如何使用Docker Quickstart Terminal并显示
  • 黑暗复活节——大壮的攻略
  • failed to create NGEN process解决方法
  • 热门搜索
    诗歌朗诵大全 结巴怎么治 怎么更改无线密码 大闸蟹怎么做最好吃 岳麓书院简介 游泳图片大全 酸萝卜的做法大全 汕头旅游景点大全排名 阴吹是怎么回事 婴儿奶瓶怎么选