使用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