我有一个管道,用于使用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这样的任何库。
也尝试了是否使用转义符,但结果是相同的。
答案 0 :(得分:0)
最后,我找到了问题。 Jenkins无法同步SCM的主人,因此无法获取json更改。为了解决这个问题,我在Jenkinsfile中添加了以下代码
registrations_controller.rb