How to disable Jenkins jobs by Batch

JenkinsManage JenkinsScript Console

Input :

import jenkins.model.*

// Pattern to search for. Regular expression.
def jobPattern = "*_PROD*"

// Should we be disabling or enabling jobs? "disable" or "enable", case-insensitive.
def disableOrEnable = "disable"

def lcFlag = disableOrEnable.toLowerCase()

if (lcFlag.equals("disable") || lcFlag.equals("enable")) { 
    def matchedJobs = Jenkins.instance.items.findAll { job ->
        job.name =~ /$jobPattern/
    }
    
    matchedJobs.each { job ->
        if (lcFlag.equals("disable")) { 
            println "Disabling matching job ${job.name}"
            job.disable()
        } else if (lcFlag.equals("enable")) {
            println "Enabling matching job ${job.name}"
            job.enable()
        }
    }
} else {
    println "disableOrEnable parameter ${disableOrEnable} is not a valid option."
}

Run

Result

Disabling matching job PRODSuite10
Disabling matching job PRODSuite14

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容