Дженкинс Groovy - Как получить глобальную переменную params всех запущенных сборок данного задания? - PullRequest
1 голос
/ 15 марта 2020
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) предоставляет объект рабочего процесса, как извлечь из него параметры?

1 Ответ

2 голосов
/ 15 марта 2020

Для каждой работающей сборки вызовите метод getAction с аргументом hudson.model.ParametersAction. Возвращает коллекцию 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()}"
    }            
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...