如何在詹金斯中创建带有参数变量的 json 文件?
How to create json file with parameter varible in jenkins?
我正在使用 echo 语句创建 json 文件,只要静态字符串就可以正常工作。
echo '
{
"common": {
"baseUri": "https://mycompany.com",
"ipPrefix": "192.23.4.",
}
}' > test.json
但是当我需要在 echo 命令中插入字符串时,它不起作用。
echo '
{
"common": {
"baseUri": "$company_name",
"ipPrefix": "192.23.4.",
}
}' > test.json
如何在 jenkins 中创建替换参数值的 json 文件?
问题是由于评论中建议的引用引起的。
下面的脚本应该适合您:
company_name="https://mycompany.com"
echo '{
"common": {
"baseUri": "'$company_name'",
"ipPrefix": "192.23.4."
}
}' > test.json
输出:
{
"common": {
"baseUri": "https://mycompany.com",
"ipPrefix": "192.23.4."
}
}
任何变量的值不能用单引号'
读取,因为它只表示文字其中所有字符的值。
要获得 company_name
的值,我们需要结束单引号,然后添加变量并再次开始单引号。
使用 pipeline utility steps plugin,您可以将任何 groovy 映射直接写入 JSON 文件:
def company_name = "http://mycompany.com/"
def map = [
"common" : [
"baseUri": company_name,
"ipPrefix": "192.23.4."
]
]
writeJSON json: map, file: test.json
我正在使用 echo 语句创建 json 文件,只要静态字符串就可以正常工作。
echo '
{
"common": {
"baseUri": "https://mycompany.com",
"ipPrefix": "192.23.4.",
}
}' > test.json
但是当我需要在 echo 命令中插入字符串时,它不起作用。
echo '
{
"common": {
"baseUri": "$company_name",
"ipPrefix": "192.23.4.",
}
}' > test.json
如何在 jenkins 中创建替换参数值的 json 文件?
问题是由于评论中建议的引用引起的。
下面的脚本应该适合您:
company_name="https://mycompany.com"
echo '{
"common": {
"baseUri": "'$company_name'",
"ipPrefix": "192.23.4."
}
}' > test.json
输出:
{
"common": {
"baseUri": "https://mycompany.com",
"ipPrefix": "192.23.4."
}
}
任何变量的值不能用单引号'
读取,因为它只表示文字其中所有字符的值。
要获得 company_name
的值,我们需要结束单引号,然后添加变量并再次开始单引号。
使用 pipeline utility steps plugin,您可以将任何 groovy 映射直接写入 JSON 文件:
def company_name = "http://mycompany.com/"
def map = [
"common" : [
"baseUri": company_name,
"ipPrefix": "192.23.4."
]
]
writeJSON json: map, file: test.json