147*_*.3k 5 groovy jenkins-pipeline
def props = readJSON text: [ 'buildName':"${params.buildName}", 'targetRepo':"${params.artifactoryReleases}"]
echo props.buildName
echo props.targetRepo
Run Code Online (Sandbox Code Playgroud)
得到以下错误
org.kohsuke.stapler.NoStaplerConstructorException:在 org.kohsuke.stapler.ClassDescriptor.loadConstructorParamNames(ClassDescriptor.java:265) 在 org.jenkinsci.plugins.structs.desc.desc 的 java.lang.String 类的任何构造函数上都没有 @DataBoundConstructor在 org.jenkinsci.plugins.structs.describable.DescribableModel.coerce(DescribableModel.java:380) 处的 DescribableModel.(DescribableModel.java:122)
导致:java.lang.IllegalArgumentException:无法在 org.jenkinsci.plugins 为 ReadJSONStep(file?: String, text?: String) 实例化 {text={buildName=alu-rp, targetRepo=na-generic-releases}}。 structs.describable.DescribableModel.instantiate(DescribableModel.java:264) 在 org.jenkinsci.plugins.workflow.steps.StepDescriptor.newInstance(StepDescriptor.java:201)
小智 10
由于您使用的props
是 JSON,因此您需要将其转换为字符串以进行回显
尝试: echo props.toString()
您也可以print
改用,不需要转换为字符串:
print props
这就是您正在寻找的
#!/usr/bin/env groovy
final def buildName = "master"
final def artifactoryReleases = "1.0"
pipeline {
agent any
stages {
stage('Init') {
steps {
script{
def props = readJSON text: '{ "buildName": "'+"${buildName}"+'" ,"targetRepo":"'+"${artifactoryReleases}" +'" }'
echo props.buildName
echo props.targetRepo
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8788 次 |
最近记录: |