首页 > 解决方案 > 詹金斯:如果作业名称包含删除作业

问题描述

我已经完成了这里的解决方案

hudson CI:如何删除所有工作?

for(j in jenkins.model.Jenkins.theInstance.getAllItems()) {
    j.delete()
}

但我害怕运行它,因为我不想删除所有作业。是否可以根据条件运行它,

for(j in jenkins.model.Jenkins.theInstance.getAllItems()) {
    if(j.contains("demo")){
         j.delete();
        }
}

我不知道 contains 是否有效,但举个例子,以更好的方式解释我的要求。

此外,我们可以使用此j变量执行的所有功能。

詹金斯版 2.176.2

标签: jenkins

解决方案


您可以实现条件语句。要删除包含特定字符串的作业,您可以使用:

for(j in jenkins.model.Jenkins.theInstance.getAllItems()){
    if((j.fullName).contains("demo")){
        j.delete()
    }
}

注意:如果您的 Jenkins 实例中有 3 个作业名为“demo”、“demo1”和“example”,则此脚本将删除“demo”和“demo1”,但不会删除“example”。要仅删除“演示”,请使用条件:

if((j.fullName).equals("demo"))

最后,您可以利用此链接描述如何列出脚本中引用的对象可用的特定方法。


推荐阅读