在Jenkins中,当您在FOLDERS中有视图时,如何在VIEW中启用/禁用所有作业

时间:2018-09-24 22:19:50

标签: jenkins groovy

我正在尝试禁用视图中的所有作业。我有一个正在工作的作业,它将在任何级别禁用指定文件夹中的所有作业。

我的问题是,我们在文件夹内有很多深的视图。

例如,我们可能有一个:

/Project_Name/"Build"/Line_of_decent_1/View1
/Project_Name/"Build"/Line_of_decent_1/View2
/Project_Name/"Util"/Line_of_decent_1/View1

位置:

Project_Name是项目名称(其中有很多,这是一个文件夹)

“ Build”和“ Util”是文件夹名称。此文件夹包含许多适合并行构建或实用程序的行,其中可能包含子集的视图。

不错的一行:这是一个文件夹,我们可以容纳1到n个。

View1-将“ Line_of_decent”中的项目分离为特定的子集。

View2-这会将“ Line_of_decent”中的项目分隔为特定的子集。

可以有1到n个视图。在可以运行代码或“工作”的任何级别上,我们都可以拥有视图。

我无法确定要在此类示例中使用的“路径”:


import hudson.model.*

jenkins = Hudson.instance

println ""
println "--- Disabling all jobs in view: ${viewName}"
println ""

jenkins.instance.getView(viewName).items*.disabled = true

//Now the above will disable it but you still need to save it. Otherwise, you'll loose your changes (of disabling the jobs) after each Jenkins restart.

jenkins.instance.getView(viewName).items.each { item -> item.save() }

以上示例的来源为:

NuGet

我只能使它与“服务器”根目录下的视图一起使用。

在詹金斯的顶部,我们有几个视图。 “测试”就是其中之一。我可以使用viewName的“ TEST”来启用或禁用这些作业。

即使for循环中的getview仍返回“ view / TEST /”。

我知道使用文件夹时,“路径”是文字路径,只是从URL中删除了“作业”一词。我还无法弄清楚“视图”的模式。文字文件夹的示例:

/SERVER_NAME/jenkins/job/PROJECT_NAME/job/Builds/job/Line_of_decent/

在Jenkins作业的用户输入中转换为PATH以进行“编译”:

PROJECT_NAME/Builds/Line_of_decent/

您基本上删除了“职位”一词,便有了路径。

我想通过詹金斯(Jenkins)乔布斯来做到这一点。如前所述,我有一份可以处理特定文件夹的工作。但是,我们希望它可以与进一步完善的视图一起使用。

TIA, -克里斯

0 个答案:

没有答案