在作业列表中,是否可以将作业的参数更改为必填?

时间:2019-09-25 18:16:36

标签: jenkins groovy hudson

我正在使用hudson和jenkins的脚本控制台。

我需要在已经存在该参数的作业上使一个名为"NAME"的参数成为必需参数。但是我不知道有什么方法可以帮助我。

def instance = hudson.model.Hudson.instance;
def allJobs = instance.getView("All");

allJobs.items.each {

    if (it.containsParameter('NAME')){ /// this exists?
        println(it.getName());

        it.set??? /// what can I do?
    }
}

当有人执行任务时,我需要这种方式,参数"NAME"不能为空或为空。

1 个答案:

答案 0 :(得分:0)

您可以通过以下代码获得所需的结果:

def instance = hudson.model.Hudson.instance;
def allJobs = instance.getView("All");

allJobs.items.each {

    prop = it.getProperty(ParametersDefinitionProperty.class)
    if(prop != null) {
        for(param in prop.getParameterDefinitions()) {
            try {
              if(param.name.equals('NAME')){
                println(it.name + ":" + param.name + " " + param.defaultValue)
                if(!param.defaultValue.trim()){
                    println("default value is blank")
                }
              }

            }
            catch(Exception e) {
              println e
            }
        }
    }
}