-
Bug
-
Resolution: Unresolved
-
Major
-
Jenkins: 2.387.2 and 2.235
Plugin: ssh pipeline steps 2.065 , 2.0.0 and 1.2.1
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code :
output this error :
Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline]
_
{ (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] }_
[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126)
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)
Caused: 4:
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)
at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)
at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39)
at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170)
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
at hudson.remoting.Channel.call(Channel.java:1000)
at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104)
at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a
Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred):
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258)
at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)
at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)
at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27)
at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)
at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)
at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69)
at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)
at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26)
at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)
at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)
at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)
at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40)
at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)
at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)
at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242)
at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)
at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)
at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64)
at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)
at java_util_concurrent_Callable$call.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)
at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237)
at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119)
at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:377)
at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Finished: FAILURE
BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully.
I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one.
Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux.
Any clue?
[JENKINS-71939] sshget not able to copy files locally unless you run any 'sh' command first
Description |
Original:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote} stages { stage("download files ") { steps { script{ def remote = [:] remote.name = 'server01' remote.host = 'server01.office.comscore.com' remote.user = 'myuser' remote.password = 'mypassword' remote.allowAnyHosts = true stage('Remote SSH') { sshGet remote: remote, from: '/home/myuser/remote.sh', into: 'local.sh', override: true } } } } }{quote} output this error : Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] }[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126) at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979) Caused: 4: at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003) at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892) at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144) at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39) at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170) Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784) at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356) at hudson.remoting.Channel.call(Channel.java:1000) at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104) at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred): at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83) at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258) at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217) at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177) at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27) at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56) at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217) at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69) at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136) at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26) at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136) at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169) at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242) at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56) at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217) at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64) at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48) at java_util_concurrent_Callable$call.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81) at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128) at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237) at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119) at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:377) at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Finished: FAILURE BUT, if before sshget I add sh 'echo' or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolut path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
New:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote} stages { stage("download files ") { steps { script{ def remote = [:] remote.name = 'server01' remote.host = 'server01.office.comscore.com' remote.user = 'myuser' remote.password = 'mypassword' remote.allowAnyHosts = true stage('Remote SSH') Unknown macro: \{ sshGet remote} } } } } {quote} output this error : Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] } [Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126) at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979) Caused: 4: at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003) at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892) at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144) at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39) at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170) Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784) at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356) at hudson.remoting.Channel.call(Channel.java:1000) at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104) at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred): at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83) at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258) at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217) at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177) at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27) at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56) at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217) at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69) at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136) at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26) at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136) at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169) at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242) at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56) at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217) at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64) at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48) at java_util_concurrent_Callable$call.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81) at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128) at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237) at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119) at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:377) at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Finished: FAILURE BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
Description |
Original:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote} stages { stage("download files ") { steps { script{ def remote = [:] remote.name = 'server01' remote.host = 'server01.office.comscore.com' remote.user = 'myuser' remote.password = 'mypassword' remote.allowAnyHosts = true stage('Remote SSH') Unknown macro: \{ sshGet remote} } } } } {quote} output this error : Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] } [Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126) at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979) Caused: 4: at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003) at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892) at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144) at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39) at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170) Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784) at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356) at hudson.remoting.Channel.call(Channel.java:1000) at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104) at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred): at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83) at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258) at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217) at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177) at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27) at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56) at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217) at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69) at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136) at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26) at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40) at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136) at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169) at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242) at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56) at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217) at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64) at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48) at java_util_concurrent_Callable$call.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81) at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128) at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237) at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119) at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:377) at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Finished: FAILURE BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
New:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote} stages { stage("download files ") { steps { script Unknown macro: \{ def remote = [} } } } } {quote} output this error : _Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline]_ _{ (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] }_ _[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory)_ _at java.base/java.io.FileOutputStream.open0(Native Method)_ _at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)_ _Caused: 4:_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)_ _at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170)_ _Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1_ _at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)_ _at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)_ _at hudson.remoting.Channel.call(Channel.java:1000)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104)_ _at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)_ _at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a_ _Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred):_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)_ _at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)_ _at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)_ _at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)_ _at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69)_ _at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26)_ _at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64)_ _at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)_ _at java_util_concurrent_Callable$call.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)_ _at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)_ _at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119)_ _at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:211)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:54)_ _at hudson.remoting.Request$2.run(Request.java:377)_ _at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Finished: FAILURE_ BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
Description |
Original:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote} stages { stage("download files ") { steps { script Unknown macro: \{ def remote = [} } } } } {quote} output this error : _Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline]_ _{ (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] }_ _[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory)_ _at java.base/java.io.FileOutputStream.open0(Native Method)_ _at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)_ _Caused: 4:_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)_ _at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170)_ _Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1_ _at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)_ _at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)_ _at hudson.remoting.Channel.call(Channel.java:1000)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104)_ _at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)_ _at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a_ _Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred):_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)_ _at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)_ _at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)_ _at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)_ _at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69)_ _at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26)_ _at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64)_ _at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)_ _at java_util_concurrent_Callable$call.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)_ _at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)_ _at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119)_ _at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:211)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:54)_ _at hudson.remoting.Request$2.run(Request.java:377)_ _at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Finished: FAILURE_ BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
New:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote} stages { stage("download files ") { s c r i p t { // <---had to write it different to avoid Jira running it as a macro def remote = [:] remote.name = 'server01' remote.host = 'server01.office.comscore.com' remote.user = 'myuser' remote.password = 'mypassword' remote.allowAnyHosts = true stage('Remote SSH') { sshGet remote: remote, from: '/home/myuser/remote.sh', into: 'local.sh', override: true } } } } } {quote} output this error : _Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline]_ _ { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] } _ _[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory)_ _at java.base/java.io.FileOutputStream.open0(Native Method)_ _at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)_ _Caused: 4:_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)_ _at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170)_ _Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1_ _at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)_ _at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)_ _at hudson.remoting.Channel.call(Channel.java:1000)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104)_ _at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)_ _at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a_ _Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred):_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)_ _at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)_ _at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)_ _at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)_ _at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69)_ _at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26)_ _at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64)_ _at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)_ _at java_util_concurrent_Callable$call.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)_ _at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)_ _at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119)_ _at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:211)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:54)_ _at hudson.remoting.Request$2.run(Request.java:377)_ _at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Finished: FAILURE_ BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
Attachment | New: image-2023-08-30-16-11-47-469.png [ 61086 ] |
Description |
Original:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote} stages { stage("download files ") { s c r i p t { // <---had to write it different to avoid Jira running it as a macro def remote = [:] remote.name = 'server01' remote.host = 'server01.office.comscore.com' remote.user = 'myuser' remote.password = 'mypassword' remote.allowAnyHosts = true stage('Remote SSH') { sshGet remote: remote, from: '/home/myuser/remote.sh', into: 'local.sh', override: true } } } } } {quote} output this error : _Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline]_ _ { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] } _ _[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory)_ _at java.base/java.io.FileOutputStream.open0(Native Method)_ _at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)_ _Caused: 4:_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)_ _at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170)_ _Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1_ _at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)_ _at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)_ _at hudson.remoting.Channel.call(Channel.java:1000)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104)_ _at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)_ _at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a_ _Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred):_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)_ _at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)_ _at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)_ _at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)_ _at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69)_ _at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26)_ _at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64)_ _at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)_ _at java_util_concurrent_Callable$call.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)_ _at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)_ _at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119)_ _at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:211)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:54)_ _at hudson.remoting.Request$2.run(Request.java:377)_ _at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Finished: FAILURE_ BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
New:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote}!image-2023-08-30-16-11-47-469.png! {quote} output this error : _Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline]_ _ { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] } _ _[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory)_ _at java.base/java.io.FileOutputStream.open0(Native Method)_ _at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)_ _Caused: 4:_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)_ _at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170)_ _Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1_ _at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)_ _at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)_ _at hudson.remoting.Channel.call(Channel.java:1000)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104)_ _at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)_ _at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a_ _Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred):_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)_ _at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)_ _at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)_ _at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)_ _at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69)_ _at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26)_ _at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64)_ _at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)_ _at java_util_concurrent_Callable$call.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)_ _at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)_ _at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119)_ _at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:211)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:54)_ _at hudson.remoting.Request$2.run(Request.java:377)_ _at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Finished: FAILURE_ BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
Description |
Original:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote}!image-2023-08-30-16-11-47-469.png! {quote} output this error : _Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline]_ _ { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] } _ _[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory)_ _at java.base/java.io.FileOutputStream.open0(Native Method)_ _at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)_ _Caused: 4:_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)_ _at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170)_ _Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1_ _at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)_ _at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)_ _at hudson.remoting.Channel.call(Channel.java:1000)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104)_ _at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)_ _at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a_ _Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred):_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)_ _at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)_ _at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)_ _at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)_ _at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69)_ _at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26)_ _at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64)_ _at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)_ _at java_util_concurrent_Callable$call.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)_ _at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)_ _at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119)_ _at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:211)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:54)_ _at hudson.remoting.Request$2.run(Request.java:377)_ _at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Finished: FAILURE_ BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
New:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote}!image-2023-08-30-16-11-47-469.png|width=687,height=226! {quote} output this error : _Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline]_ _ { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] } _ _[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory)_ _at java.base/java.io.FileOutputStream.open0(Native Method)_ _at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)_ _Caused: 4:_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)_ _at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170)_ _Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1_ _at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)_ _at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)_ _at hudson.remoting.Channel.call(Channel.java:1000)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104)_ _at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)_ _at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a_ _Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred):_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)_ _at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)_ _at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)_ _at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)_ _at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69)_ _at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26)_ _at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64)_ _at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)_ _at java_util_concurrent_Callable$call.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)_ _at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)_ _at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119)_ _at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:211)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:54)_ _at hudson.remoting.Request$2.run(Request.java:377)_ _at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Finished: FAILURE_ BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
Description |
Original:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote}!image-2023-08-30-16-11-47-469.png|width=687,height=226! {quote} output this error : _Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline]_ _ { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] } _ _[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory)_ _at java.base/java.io.FileOutputStream.open0(Native Method)_ _at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)_ _Caused: 4:_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)_ _at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170)_ _Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1_ _at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)_ _at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)_ _at hudson.remoting.Channel.call(Channel.java:1000)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104)_ _at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)_ _at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a_ _Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred):_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)_ _at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)_ _at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)_ _at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)_ _at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69)_ _at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26)_ _at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64)_ _at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)_ _at java_util_concurrent_Callable$call.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)_ _at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)_ _at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119)_ _at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:211)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:54)_ _at hudson.remoting.Request$2.run(Request.java:377)_ _at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Finished: FAILURE_ BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |
New:
Just copying the example and trying to run it, it only works if I add any 'sh' command before sshget, or if the local file is been written in the '/tmp' directory on the local Jenkins server.
This code : {quote}!image-2023-08-30-16-11-47-469.png|width=687,height=226! {quote} output this error : _Failed SFTP GET: server01:/home/myuser/remote.sh -> /jenkins/workspace/myuser/my_job/local.sh[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline]_ _ { (Declarative: Post Actions)[Pipeline] cleanWs[WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done[Pipeline] } _ *_[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of Pipelinejava.io.FileNotFoundException: /jenkins/workspace/myuser/my_job/local.sh (No such file or directory)_* _at java.base/java.io.FileOutputStream.open0(Native Method)_ _at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)_ _at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:126)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)_ _Caused: 4:_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)_ _at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)_ _at com.jcraft.jsch.ChannelSftp$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy:39)_ _at org.hidetake.groovy.ssh.operation.SftpOperations$_getFile_closure1.doCall(SftpOperations.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:170)_ _Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Slave1_ _at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)_ _at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)_ _at hudson.remoting.Channel.call(Channel.java:1000)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution.run(GetStep.java:104)_ _at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)_ _at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: f42a8851-1a1b-484b-aa5b-a5b7280dd51a_ _Caused: org.hidetake.groovy.ssh.operation.SftpException: Failed SFTP GET: cviadtzal01:/home/devops/release/start.sh -> /jenkins/workspace/DevOps/mparra_test_job/test.sh: (SSH_FX_FAILURE: An error occurred):_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)_ _at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)_ _at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)_ _at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)_ _at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)_ _at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:258)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.tryCatchSftpException(SftpOperations.groovy:175)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.SftpOperations.getFile(SftpOperations.groovy:38)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy:27)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp$_get_closure1.doCall(Sftp.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.operation.DefaultOperations.sftp(DefaultOperations.groovy:69)_ _at org.hidetake.groovy.ssh.operation.Operations$sftp.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.get.Sftp.get(Sftp.groovy:26)_ _at org.hidetake.groovy.ssh.session.transfer.get.Provider$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:95)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.getInternal(FileGet.groovy:72)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:225)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper.get(FileGet.groovy:40)_ _at org.hidetake.groovy.ssh.session.transfer.FileGet$Trait$Helper$get.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136)_ _at org.hidetake.groovy.ssh.session.SessionHandler.get(SessionHandler.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:169)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy:242)_ _at org.jenkinsci.plugins.sshsteps.SSHService$_get_closure6$_closure17.doCall(SSHService.groovy)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)_ _at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:56)_ _at org.hidetake.groovy.ssh.util.Utility.callWithDelegate(Utility.groovy:17)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)_ _at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)_ _at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)_ _at java.base/java.lang.reflect.Method.invoke(Method.java:566)_ _at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)_ _at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)_ _at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:197)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)_ _at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:64)_ _at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)_ _at java_util_concurrent_Callable$call.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)_ _at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)_ _at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)_ _at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)_ _at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)_ _at org.jenkinsci.plugins.sshsteps.SSHService.get(SSHService.groovy:237)_ _at org.jenkinsci.plugins.sshsteps.steps.GetStep$Execution$GetCallable.execute(GetStep.java:119)_ _at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:211)_ _at hudson.remoting.UserRequest.perform(UserRequest.java:54)_ _at hudson.remoting.Request$2.run(Request.java:377)_ _at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)_ _at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)_ _at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)_ _at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)_ _at java.base/java.lang.Thread.run(Thread.java:829)_ _Finished: FAILURE_ BUT, if before sshget I add sh 'echo' (or any other sh command), or set the destination to /tmp/local.sh it work successfully. I've already tried to set all the directory permissions to full for others, but the behavior is the same, also tried to specify the absolute path instead of relative but same issue except for the /tmp one. Tested on 3 different Plugin versions on 3 different Jenkins version running on Ubuntu and Centos linux. Any clue? |