使用Jenkins在工作区中写入json文件

我有一个很少设置参数的jenkins作业,并且在工作区中有一个JSON文件,该文件必须使用通过jenkins传递的参数进行更新。

例:

我有以下参数,我将从触发作业的用户那里获取输入:

  • 环境(考虑用户选择“ ENV2”)
  • 文件名(考虑用户保留默认值)

我的工作空间中有一个json文件,位于run / job.json下,内容如下:

{

environment: "ENV1",

filename: "abc.txt"

}

现在,用户在触发作业之前给定的任何值都必须在job.json中替换。

因此,当用户触发作业时,job.json文件应为:

{

environment: "ENV2",

filename: "abc.txt"

}

请注意必须更新的json中的环境值。

我已经尝试过https://wiki.jenkins-

ci.org/display/JENKINS/Config+File+Provider+Plugin插件。但是我无法找到有关参数化值的任何帮助。

请建议配置此插件,或者建议其他任何可以满足我目的的插件。

回答:

Config File Provider

Plugin不允许您将参数传递给配置文件。您可以使用任何脚本语言来解决您的问题。我最喜欢的方法是使用Groovy插件。选中“执行系统Groovy脚本”复选框,然后粘贴以下脚本:

import groovy.json.*

// read build parameters

env = build.getEnvironment(listener)

environment = env.get('environment')

filename = env.get('filename')

// prepare json

def builder = new JsonBuilder()

builder environment: environment, filename: filename

json = builder.toPrettyString()

// print to console and write to a file

println json

new File(build.workspace.toString() + "\\job.json").write(json)

输出样本:

{

"environment": "ENV2",

"filename": "abc.txt"

}

以上是 使用Jenkins在工作区中写入json文件 的全部内容, 来源链接: utcz.com/qa/426152.html

回到顶部