想要解析groovy中yaml文件的内容

时间:2019-04-24 10:11:42

标签: groovy jenkins-groovy

我想要Jenkins Job中的一些布尔参数。这些参数存在于yaml文件中。我想用groovy读取yam文件并解析其内容,并将其添加到jenkinsflie的参数块中。

我的YAML文件如下

区域:

canary_zones:
- can-1

QA_zones:
- qa-1
- qa-2

production_zones:
- prod-1
- prod-2

我想按区域阅读以上内容,并将其包含在jenkinfile的布尔参数中。有什么方法可以实现这一目标。

1 个答案:

答案 0 :(得分:0)

最简单的方法之一是使用snakeyaml:

这是Dokumentation中的一个小例子:
https://bitbucket.org/asomov/snakeyaml/wiki/Documentation#markdown-header-loading-yaml

public void testLoadFromString() {
    Yaml yaml = new Yaml();
    String document = "hello: 25";
    Map map = (Map) yaml.load(document);
    assertEquals("{hello=25}", map.toString());
    assertEquals(new Long(25), map.get("hello"));
}