当前位置: 首页 > 面试题库 >

Jenkins Groovy-使用来自readYaml的修改后的数据写回yml文件

景高杰
2023-03-14
问题内容

我正在使用Jenkins readYaml读取数据,如下所示:

data = readYaml file: "test.yml"
//modify
data.info = "b"

我想将此修改后的数据写回到Jenkins中的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


 类似资料:
  • 问题内容: 我从动画gif中读取了分离的图像,我只需要对其进行更改,然后将其设置回文件,并与编写者一起另存为新文件。 我会很高兴为您提供任何帮助。 问题答案: Tanks @StanislavL 在评论中提供了链接(https://community.oracle.com/thread/1264385),这确实很有帮助。有我的解决方案:

  • 问题内容: 我想以编程方式编辑python源代码。基本上,我想读取一个文件,生成AST,然后写回修改后的python源代码(即另一个文件)。 有多种方法可以使用标准python模块(例如或)来解析/编译python源代码。但是,我认为它们都不支持修改源代码(例如删除此函数声明)然后写回修改后的python源代码的方法。 更新:我想这样做的原因是我想为python编写一个Mutation测试库,主要

  • 问题内容: 解析一个文件,读取AST,对其进行修改,然后写回修改后的源代码我想以编程方式编辑python源代码。基本上,我想读取一个文件,生成AST,然后写回修改后的python源代码(即另一个.py文件)。 有多种方法可以使用标准python模块(例如ast或)来解析/编译python源代码compiler。但是,我认为它们都不支持修改源代码(例如删除此函数声明)然后写回修改后的python源代

  • 问题内容: 我正在编写一个node.js程序,该程序将监视包含大量(300 ish)数量的scss项目的目录。将配置Grunt- watch(可以通过节点模块运行,也可以单独运行,无论如何工作),以便每当更改scsss文件时,都将使用罗盘对其进行编译,并将输出文件移至单独的目录,例如: ./1234/style.scss已更改>> grunt-watch运行grunt-compass >> /fo

  • 本文向大家介绍layui table数据修改的回显方法,包括了layui table数据修改的回显方法的使用技巧和注意事项,需要的朋友参考一下 实现的样式给你们看一波 点击这锅按钮 其实回显就是一个赋值的操作,先把form表单的那些input 框的id拿到,在展示成功的那里进行绑值 好啦,分享结束! 以上这篇layui table数据修改的回显方法就是小编分享给大家的全部内容了,希望能给大家一个参

  • 我有一个ViewModel,我正在使用LiveData,所以我有一个返回LiveData>的DAO,我可以让它工作,但实际上我希望它首先显示来自Room数据库的数据(如果有的话),然后当webservice返回新数据(如果有的话)时,将其写入数据库,然后用数据库中的最新数据更新ViewModel。我首先从数据库返回数据,并在后台将新数据写入数据库,但如何让ViewModel再次使用数据库中的新数据