当前位置: 首页 > 面试题库 >

Jenkins Pipeline Groovy:是否从另一个作业中读取默认参数值?

子车安和
2023-03-14
问题内容

在管理多个作业的管道作业的Groovy代码中,是否可以读取在另一个作业的配置中定义的参数的默认值?

也就是说,在管道作业A中,我想读取作业B中参数P的默认值,该值尚未安排。(这将影响在作业A中构造B的请求的方式。)

def val = "some-random-prefix" +
          ReadJobParamDefault(job: 'B', parameter: 'paramName') +
          "-some-random-suffix"
def b = build(job: 'B',
              description: 'Some text',
              parameters: [[$class: 'StringParameterValue',
                            name: 'paramName',
                            value: val]])

ReadJobParamDefault是否真正有用?


问题答案:

我想可能可以将某些Groovy类存储到共享库(https://jenkins.io/doc/book/pipeline/shared-
libraries/
)中,例如

public static String ReadJobParamDefault(jobName, String parameter) {
    def job = Hudson.instance.getJob(jobName)
    String ret = null;
    if (job != null && parameter != null  && parameter.trim().length() > 0) {
        job.getProperties().values().each {
            if(it instanceof hudson.model.ParametersDefinitionProperty) {
                if (it.getParameterDefinition(parameter) != null) {
                    ret = it.getParameterDefinition(parameter).
                        getDefaultParameterValue().getValue();
                }
            }
        }
    }
    return ret;
}


 类似资料:
  • 问题内容: 我尝试使用以下方法更改默认参数值: 而所有的SQL预编译器给我的都是这个错误: 消息102,级别15,状态1,过程my_sp,第8行’(’附近的语法不正确。 我已经创建了过程。(我不确定这是否相关。)我使用的是空默认值,以后再检查它,但这似乎不合适。我可以一行完成吗? 更新:我不打算使用MSDN对存储过程参数的描述: [= default]是参数的默认值。如果定义了默认值,则可以在不为

  • 问题内容: 这个问题已经在这里有了答案 : 有没有办法将默认参数设置为等于另一个参数值? (4个答案) 5年前关闭。 是否可以在同一函数定义中将函数参数的默认值定义为另一个参数?就像是: 但这没用。 问题答案: 不可以。Python解释器认为要说法的默认值分配到一个全局变量时,没有一个全局变量。 您可能想要尝试这样的事情:

  • 例如,我想要: 如果用户已指定增量,请使用它。如果不是,请使用依赖于 n 的值。这可能吗?

  • 问题内容: 我遇到了一些具有以下结构的Java代码: 我知道在C ++中,我可以为参数分配一个默认值。例如: Java是否支持这种语法?有什么理由使两步语法更可取? 问题答案: 我遇到了一些具有以下结构的Java代码: 我知道在C ++中,我可以为参数分配一个默认值。例如: Java是否支持这种语法?有什么理由使两步语法更可取?

  • 我目前正在做一个项目,在这个项目中,我们有一个jenkins实例与一个单独的网站并排运行,工作流程是这样的,用户需要点击网站中的链接,从而触发jenkins实例中的jenkins作业。 触发的jenkins作业有几十个参数,我们目前正在做的是,该网站将使用javascript构建一个如下URL: https://JENKINS_HOST/作业/JOB_NAME/build with Paramet

  • 问题内容: 例如,我想要: 如果用户指定了增量,请使用它。如果不是,则使用取决于n的值。这可能吗? 问题答案: 该语言不支持这种语法。 对于这些情况(*),通常的解决方法是使用不是有效输入的默认值。 (*)当默认值是可变的时,也会出现类似的问题。