Jenkins 如何将其从脚本管道转换为声明性管道

Jenkins 如何将其从脚本管道转换为声明性管道,jenkins,jenkins-declarative-pipeline,Jenkins,Jenkins Declarative Pipeline,我在脚本化管道中有一段代码,我希望将其转换为声明性管道 rlsSpec = sprintf( readFile('ara-specs/release-spec-template.json'), [currentVersion.contains('SNAPSHOT'), currentVersion.replace('-SNAPSHOT','')]) writeFile file: 'release-spec.json', text: rlsSpec stash

我在脚本化管道中有一段代码,我希望将其转换为声明性管道

rlsSpec = sprintf(
      readFile('ara-specs/release-spec-template.json'), 
      [currentVersion.contains('SNAPSHOT'), currentVersion.replace('-SNAPSHOT','')])
  writeFile file: 'release-spec.json', text: rlsSpec
  stash includes: '*spec.json', name: 'releaseSpecs'
我可以从scripted为读写文件读取JSON和writeJson,但我无法转换sprintf片段,或者我没有太多关于如何转换此片段的信息

我所做的只是读取一个json文件,更改currentVersion以替换-SNAPSHOT片段并将其写回json文件

你能帮我把这件衣服换成新的吗


感谢您在sprintf中所做的一切,您所要做的就是将json文件作为文本文件读取,并进行字符串替换。同样的事情也可以在声明性Jenkins管道中实现

pipeline {
    agent any
    stages {
        stage ('Print'){
            steps {
                script {
                     def inptext = readFile file: "ara-specs/release-spec-template.json" 
                     inptext = inptext.replaceAll("-SNAPSHOT", "")       
                     writeFile file: "release-spec.json", text: inptext
                }

            }
        }
    }
}