如何在Jenkins管道中存储以前的参数值?

如何在Jenkins管道中存储以前的参数值?,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,在jenkins 2.73.1中,我有一个用groovy编写的管道作业,它有两个字符串参数:ReleaseVersion和NextDevelopmentVersion 我希望通过在脚本末尾存储/更新当前作业参数值来简化作业的使用,以便它们成为下一次构建的下一个默认值 示例: 用户为当前生成输入以下值: ReleaseVersion = 1.2.3 NextDevelopmentVersion = 1.2.4-SNAPSHOT 我想更新作业默认值,以便下次生成时显示 ReleaseVersion

在jenkins 2.73.1中,我有一个用groovy编写的管道作业,它有两个字符串参数:
ReleaseVersion
NextDevelopmentVersion

我希望通过在脚本末尾存储/更新当前作业参数值来简化作业的使用,以便它们成为下一次构建的下一个默认值

示例:
用户为当前生成输入以下值:

ReleaseVersion = 1.2.3
NextDevelopmentVersion = 1.2.4-SNAPSHOT
我想更新作业默认值,以便下次生成时显示

ReleaseVersion = 1.2.4
NextDevelopmentVersion = 1.2.5-SNAPSHOT
可能吗? 在groovy中如何做到这一点


我发现了这个问题,但无法解决。

将这些值作为参数传递给作业,并读取管道代码中的变量


然后使用,这将允许您使用以前生成的参数重新运行作业。无需配置。

问题是9个月前,Jenkins管道功能在此期间发生了很大变化。我所能说的是,从今天起,在詹金斯2.73中,这似乎是可行的

在Jenkins文件中,您可以有这样一个部分来设置一些构建参数:

properties properties: [
    parameters([
            string(defaultValue: env.VERSION, description: 'Version to deploy', name: 'VERSION'),
    ])
]
当有人为此作业单击“立即构建”,输入版本值并单击“构建”时,作业配置中的默认值将设置环境变量版本,以便在文件运行时使用

因此,用户键入的值将作为新的默认值设置回作业配置中。这对当前运行没有影响,但将应用于下一次运行

当用户再次单击“build now”进行下一次运行时,该值将显示为默认值


我很确定,虽然这很复杂,但它可能并不总是这样。但缺点非常有限,因为用户必须在单击“构建”按钮之前在框中键入正确的新版本号。

使用如下参数:

node {
    properties([parameters([string(defaultValue: this.abc, description: '', name: 'abc', trim: false)])])
    echo params.abc
}