From b7ffa0d3ce28c88499212795ef060522ba48d554 Mon Sep 17 00:00:00 2001 From: aju100 Date: Thu, 7 Sep 2023 23:48:30 +0545 Subject: [PATCH] fix: add sshUserPrivateKey --- .../wrapper/CredentialsBindingContext.groovy | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/wrapper/CredentialsBindingContext.groovy b/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/wrapper/CredentialsBindingContext.groovy index f2a998674..66fbfa72b 100644 --- a/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/wrapper/CredentialsBindingContext.groovy +++ b/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/wrapper/CredentialsBindingContext.groovy @@ -56,7 +56,20 @@ class CredentialsBindingContext extends AbstractExtensibleContext { addSimpleBinding('ZipFile', variable, credentials) } - private void addSimpleBinding(String type, String variableName, String credentials) { + /** + * Sets a variable to the given SSH User Private Key in the credentials. + */ + @RequiresPlugin(id = 'credentials-binding', minimumVersion = '1.3') + void sshUserPrivateKey(String keyFileVariable, String passPhraseVariable, String usernameVariable, String credentials) { + nodes << new NodeBuilder().'org.jenkinsci.plugins.credentialsbinding.impl.SSHUserPrivateKeyBinding' { + credentialsId(credentials) + usernameVariable(userVariableName) + passPhraseVariable(passphraseVariable) + keyFileVariable(keyFileVariable) + } + } + + private void addSimpleBinding(String type, String passphraseVariable, String usernameVariable, String variableName, String credentials) { nodes << new NodeBuilder()."org.jenkinsci.plugins.credentialsbinding.impl.${type}Binding" { variable(variableName) credentialsId(credentials)