-
Bug
-
Resolution: Incomplete
-
Minor
-
None
-
ubuntu 16.04
jenkins 2.32.3
publish-over-ssh 1.17
When using the closure bapSshPublisher in Jenkins DSL, sshCredentials is required even though it appears to be optional when creating a job through the Jenkins UI:
configName(String value) - required
Select an SSH configuration from the list configured in the global configuration of this Jenkins.
sshCredentials {} - required
Set the credentials to use with this connection.If you want to use different credentials from those configured for this server, or if the credentials have not been specified for this server, then enable this option and set them here.
The resulting job allows de-selection of credentials, but DSL requires it.
sshCredentials should optional when using bapSshPublisher in the Jenkins DSL, especially when there's a global configuration that is referenced through configName.
Same is true for sshLabel{}.
And no, this is not minor. When ommitted or left empty, the DSL seed job fails, but when used (with "null" parameters for its methods) it does the wrong thing, leaving a non-functional job.
Adding to this: The publisher part has proper Job-DSL definition, like
which the wrapper part lacks, hence the need to use bapSshPostBuildWrapper or a configure block there.