5

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?

Nir Koren
  • 241
  • 4
  • 11

2 Answers2

13

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')
    } 
  }
}
daspilker
  • 8,154
  • 1
  • 35
  • 49
0

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.

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250