Jenkins DSL插件:如何在现有的jenkins视图中创建作业?

sim*_*mon 4 groovy jenkins jenkins-job-dsl

我找到了关于创建作业以及使用DSL插件添加到新创建的视图的以下问题.

将作业添加到新创建的视图.

如何使用DSL插件将创建的作业添加到现有视图?我在文档中找不到任何提示.也许很明显我看不到解决方案?

虽然我读过,如果视图已经存在,创建视图将导致重新创建.对于这种观点下的现有项目意味着什么?

谢谢你的帮助.

das*_*ker 5

您无法将作业添加到不由作业DSL管理的视图.但是由DSL管理的视图可以包含不由DSL管理的作业.

例如,您可以拥有一个project-a手动管理的作业和一个project-b由DSL管理的作业.由DSL管理的视图可以包含两个作业.

job('project-b') {
}

listView('project-view') {
  jobs {
    name('project-a')
    name('project-b')
  }
}
Run Code Online (Sandbox Code Playgroud)

无法使用Jenkins API将作业从DSL脚本添加到视图中.作业必须存在才能添加到视图中.但是,当执行脚本时,不会立即创建作业.处理完脚本后,将创建所有DSL项目.

如果您不希望使用DSL管理视图(但您应该),则可以尝试使用基于过滤器的视图配置.例如,包括名称与正则表达式匹配的所有作业.或者,您可以使用" 查看作业过滤器插件"来创建更复杂的过滤器.