Jenkins job DSL plugin - hidden parameter

2019-05-26 22:36发布

I am using the Jenkins hidden parameter plugin but I cant find the syntax to write it in DSL like I am doing with other parameters.

For example: https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.BuildParametersContext.activeChoiceParam

Is there any way to reflect hidden parameter in DSL?

2条回答
Evening l夕情丶
2楼-- · 2019-05-26 23:28

BEfore using the declarative pipeline syntax (described in jenkinsci/pipeline-model-definition-plugin), you would have used:

But with the pure DSL pipeline syntax, this is not yet supported (April 2017).

The last issue though points out to JENKINS-29922 (Promote delegates of metasteps to top-level functions, deprecate $class) and adds the comment:

JENKINS-29922 is implemented, so assuming a @Symbol is defined for each credentials kind, and a credentials step is marked metaStep, you could write more simply:

usernamePassword id: 'hipchat-login', username: 'bob', password: 'abc/def+GHI0123='
hipchat server: …, message: …, credentialsId: 'hipchat-login'

or even allow the id to be generated, and return it from the step:

hipchat server: …, message: …, credentialsId: usernamePassword(username: 'bob', password: 'abc/def+GHI0123=')

While that is encrypted, that is not exactly "hidden" though.

查看更多
太酷不给撩
3楼-- · 2019-05-26 23:32

Job DSL has no built-in support for the Hidden Parameter plugin, so it's not mentioned in the API viewer. But it's supported by the Automatically Generated DSL:

job('example') {
  parameters {
    wHideParameterDefinition {
      name('FOO')
      defaultValue('bar')
      description('lorem ipsum')
    } 
  }
}
查看更多
登录 后发表回答