如何在Jenkins中将参数化作业中参数的最后值存储为下一个构建的默认值? [英] How to store last value of parameter in parameterized job as a default value for next build in Jenkins?

查看:431
本文介绍了如何在Jenkins中将参数化作业中参数的最后值存储为下一个构建的默认值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用Jenkins了几个星期,但我遇到了一个小问题.我找不到任何插件或解决方案来将参数化作业中参数的最后一个值存储为下一个版本的默认值.

I have been using Jenkins for a few weeks and I have one small problem. I can't find any plugin or solution for storing the last value of a parameter in a parametrized job as a default value for the next build.

例如: 我的参数在第一个版本中采用版本(1.0.0.01).在下一个版本中,它将更改为1.0.0.02,但我想在默认值字段中使用1.0.0.01作为提示. 有人有解决方案或建议吗?

For example: My parameter takes build version (1.0.0.01) in the first build. In the next build it will be changed to 1.0.0.02, but I want to have a 1.0.0.01 in the default value field as a hint. Does anybody have a solution or advice?

推荐答案

您可以使用Jenkins API直接修改项目并将默认参数设置为默认值,从而将System groovy构建步骤添加到您的工作中(或者可能是Post build Groovy步骤).价值.

You can add a System groovy build step to your job (or maybe a post build Groovy step) using the Jenkins API to directly modify the project setting the default parameter value.

以下一些代码可能对您入门很有帮助:

Here is some code that may be useful to get you started:

import hudson.model.*

paramsDef = build.getParent().getProperty(ParametersDefinitionProperty.class)
if (paramsDef) {
  paramsDef.parameterDefinitions.each{ param ->
    if (param.name == 'FOO') {
      println("Changing parameter ${param.name} default value was '${param.defaultValue}' to '${param.defaultValue} BAR'")
      param.defaultValue = "${param.defaultValue} BAR"
    }
  }
}

看看Jenkins模型中的类 ParameterDefinition .

Have a look at the class ParameterDefinition in the Jenkins model.

您可能需要根据当前执行的构建来修改默认参数值.一些获得的代码如下所示:

You probably need to modify the default param value based on the current build executing. Some code to get that would look like this:

def thisBuildParamValue = build.buildVariableResolver.resolve('FOO')

这篇关于如何在Jenkins中将参数化作业中参数的最后值存储为下一个构建的默认值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆