我有一个具有以下结构的yaml文件:
transfers:
- name: xyz
cloud: aws
subheading:
impact: Low
reason: ---
artifacts:
- name: name1
type: type1
source:
hash: a1b2C3dd4 ---> VALUE TO OVERWRITE
我想用最新的GIT_COMMIT
值覆盖现有的哈希值。
我已经从下面的问题尝试了这个方法:write yaml file in jenkins with groovy。但是,hash[0][0]
的值保持不变。即使我用测试哈希字符串“testHash123”替换env.GIT_COMMIT
,情况也是如此。我不确定为什么会出现这种情况?
def filename = ('path/to/file.yaml')
def datas = readYaml file: filename
//change hash
datas.transfers['artifacts'].source.hash[0][0] = env.GIT_COMMIT
writeYaml file: filename, data: datas, overwrite: true
1条答案
按热度按时间9jyewag01#
请尝试以下操作。
最简单的方法是打印出来,这样你就能理解结构了。
正如您在上面看到的,传输是一个序列,因此您需要使用索引提取正确的段。