Groovy中的Jenkins密码参数



我正试图将passwordParam添加到我的Jenkins groovy文件中。其目的是让作业在运行时获取密码

pipelineJob(jobName) {
displayName(displayString)
parameters {
choiceParam('ARTEFACT',artefactName,'Artefact to deploy?')
choiceParam('CLUSTER',cluster,'Cluster to push to')
stringParam('BRANCH','main','What branch should be used?')
passwordParam('proxyUser', 'password123', 'ProxyPassword')
}

但是我得到错误

ERROR: (job_delete_release.groovy, line 23) No signature of method: javaposse.jobdsl.dsl.helpers.BuildParametersContext.passwordParam() is applicable for argument types: (java.lang.String, java.lang.String, java.lang.String) values: [proxyUser, password123, ProxyPassword]

根据这里的文件,这应该是可能的。

我不确定我做错了什么,或者我是否错过了一些明显的东西。

看起来像是混合了DSL和Declarative语法。

您在这里写的是JobDSL,但是您的链接是到声明性代码的。在您编写的部分中,您只能使用JobDSL可用的参数,可以在此处找到:

单击上参数中的三个点https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.jobs.MavenJob.parameters

所以对于JobDSL,我相信你会使用nonStoredPasswordParam(注意我从未使用过(

https://jenkinsci.github.io/job-dsl-plugin/#path/javaposse.jobdsl.dsl.jobs.MavenJob.parameters-非存储密码参数

如果您想要Declarative中的参数,您可以将它们写在pipeline部分中。例如

pipeline {
agent any
parameters {
string(name: 'script_args', defaultValue: '--out_file --purge', description: 'Command line args to pass to script')
}

相关内容

最新更新