Jenkinsfile JSON对象返回null

时间:2018-07-20 13:06:45

标签: json groovy jenkins-pipeline

我有一个管道,用于使用repos来自动执行重定叉。我制作了一个包含回购清单的JSON,就像这样

[
    {
      "name": "fork-sync-test",
      "fork": "git@<host>:<org>//fork-sync-test.git",
      "main": "git@<host>:<org>//fork-sync-test.git"
    }
]

并像这样从Jenkinsfile中读取

node {
    stage ('repo sync') {
        def repos = readJSON file: 'repo-list.json'
        echo "${repos[0].name}..."
        echo "${repos[0].fork}..."
    }
}

输出为

fork-sync-test...
null...

如何读取“名称”键,而不能读取“叉子”键。这没有任何意义。它不需要像JsonSlurper这样的任何库。

也尝试了是否使用转义符,但结果是相同的。

1 个答案:

答案 0 :(得分:0)

最后,我找到了问题。 Jenkins无法同步SCM的主人,因此无法获取json更改。为了解决这个问题,我在Jenkinsfile中添加了以下代码

registrations_controller.rb