编辑后未保存存储库中的本地文件(groovy / jenkins)

时间:2018-11-20 11:46:52

标签: json jenkins groovy

在我的詹金斯工作中,我检出了一个存储库。在那个仓库中,有一个我想在工作中编辑的文件。但是似乎文件没有保存。我有一个像这样的方法:

def updateFile(id, key){
    def inputFile = readFile("${workspace}/config/cnf.json")
    def inputJSON = new JsonSlurper().parseText(inputFile)

    inputJSON."${key}"[0].pref = "${id}"
    def result = JsonOutput.toJson(inputJSON)
    //here it is changed.
    println "result:\n${result}"
    inputFile << "${JsonOutput.prettyPrint(result)}"
    //and now it is again the old one.
    println "Hier: \n ${inputFile}"
}

问题是,我无法使用“新文件”和“ .write”或“ .append”,因为詹金斯无法以这种方式找到文件。

def inputFile = new File("${workspace}/config/cnf.json") --> no File found

是否有保存现有文件的好方法?

1 个答案:

答案 0 :(得分:1)

如果readFile("${workspace}/config/cnf.json")工作正常

然后使用writeFile这样写文件:

writeFile file:"${workspace}/config/cnf.json", text:result