1
我使用詹金斯readYaml讀取數據如下:詹金斯的Groovy - 利用readYaml修改後的數據寫回陽明文件
data = readYaml file: "test.yml"
//modify
data.info = "b"
我想這個修改後的數據寫回的詹金斯test.yml 。這怎麼能實現?
我使用詹金斯readYaml讀取數據如下:詹金斯的Groovy - 利用readYaml修改後的數據寫回陽明文件
data = readYaml file: "test.yml"
//modify
data.info = "b"
我想這個修改後的數據寫回的詹金斯test.yml 。這怎麼能實現?
test.yml:
data:
info: change me
aaa: bbb
ddd: ccc
管道腳本:
@Grab('org.yaml:snakeyaml:1.17')
import org.yaml.snakeyaml.Yaml
import org.yaml.snakeyaml.DumperOptions
import static org.yaml.snakeyaml.DumperOptions.FlowStyle.BLOCK
node {
def yaml = readYaml file: "test.yml"
yaml.data.info = 'hello world!'
writeFile file:"test.yml", text:yamlToString(yaml)
}
@NonCPS
String yamlToString(Object data){
def opts = new DumperOptions()
opts.setDefaultFlowStyle(BLOCK)
return new Yaml(opts).dump(data)
}
最終test.yml:
data:
info: hello world!
aaa: bbb
ddd: ccc