-
Improvement
-
Resolution: Fixed
-
Minor
-
None
The pipeline example for sshCommand provided in the Github page is wrong, it gives a NullPointException in my installation:
java.lang.NullPointerException at org.jenkinsci.plugins.sshsteps.steps.CommandStep$Execution.run(CommandStep.java:71) at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution$1$1.call(SSHStepExecution.java:77) at hudson.security.ACL.impersonate(ACL.java:290) at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution$1.run(SSHStepExecution.java:72) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Finished: FAILURE
However, after adding pipelines, stages and steps wrappers around it, it worked fine:
def remote = [:] remote.name = 'test' remote.host = 'test.domain.com' remote.user = 'root' remote.password = 'password' remote.allowAnyHosts = true pipeline { agent any stages { stage('SSH') { steps{ sshCommand remote: remote, command: "ls -l /" } } } }
[JENKINS-52390] Throw appropriate error when the code is not in node block
Description |
Original:
The pipeline example for _sshCommand_ provided in the Github page is wrong, it gives a NullPointException in my installation. However, after adding pipelines and stages wrapper around it, it worked fine. {code:java} def remote = [:] remote.name = 'test' remote.host = 'test.domain.com' remote.user = 'root' remote.password = 'password' remote.allowAnyHosts = true pipeline { agent any stages { stage('SS') { steps{ sshCommand remote: remote, command: "ls -l /" } } } } {code} |
New:
The pipeline example for _sshCommand_ provided in the Github page is wrong, it gives a NullPointException in my installation: {noformat} java.lang.NullPointerException at org.jenkinsci.plugins.sshsteps.steps.CommandStep$Execution.run(CommandStep.java:71) at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution$1$1.call(SSHStepExecution.java:77) at hudson.security.ACL.impersonate(ACL.java:290) at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution$1.run(SSHStepExecution.java:72) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Finished: FAILURE{noformat} However, after adding pipelines, stages and steps wrappers around it, it worked fine: {code:java} def remote = [:] remote.name = 'test' remote.host = 'test.domain.com' remote.user = 'root' remote.password = 'password' remote.allowAnyHosts = true pipeline { agent any stages { stage('SSH') { steps{ sshCommand remote: remote, command: "ls -l /" } } } } {code} |
Summary | Original: Example in Github is incorrect | New: Throw appropriate error when the code is not in node block |
Status | Original: Open [ 1 ] | New: In Progress [ 3 ] |
Status | Original: In Progress [ 3 ] | New: In Review [ 10005 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: In Review [ 10005 ] | New: Resolved [ 5 ] |
Issue Type | Original: Bug [ 1 ] | New: Improvement [ 4 ] |
cassioiks That was a scripted pipeline example, needs to be called in node as in example at [1]. Thanks for reporting, I will update all of these examples while working on JENKINS-52226
[1] https://github.com/jenkinsci/ssh-steps-plugin#withcredentials