簡體   English   中英

Jenkins Groovy - 如何獲取給定作業的所有正在運行的構建的 params 全局變量?

[英]Jenkins Groovy - How to get params global variable of all running builds of a given job?

stages {
    stage('Main') {
        steps {
            script{
                sleep(5)
                def runningBuilds = Jenkins.instance.getItemByFullName("${JOB_NAME}").getBuilds().findAll() { it.getResult().equals(null) }
                for(i in 0 .. runningBuilds.size()-1) {
                    //print running - below line gives workflow object
                    print runningBuilds.get(i)
                    //How do I get 'params' global variable of all running builds here???
                    }
                if(runningBuilds.size()>1){
                    for(i in 1 .. runningBuilds.size()-1) {
                        //some processing
                    }
                }
            }
        }

如何獲取給定作業的所有正在運行的構建的 params 全局變量? runningBuilds.get(i) 給出了工作流對象,如何從中檢索參數?

對於每個正在運行的構建,使用參數hudson.model.ParametersAction調用getAction方法。 它返回ParameterValue的集合。

def runningBuilds = Jenkins.instance.getItemByFullName(JOB_NAME).getBuilds().findAll() {
    it.getResult().equals(null) 
}

for( run in runningBuilds ) {       
    for( param in run.getAction( hudson.model.ParametersAction ) ) { 
        println "Parameter name: $param.name, value: ${param.getValue()}"
    }            
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM