Groovy – get file from sftp

Following code shows how to use Groovy to download a file from sftp.

It uses package “com.jcraft”

Thanks to Groovy Grab, we don’t need to manually fetch the library ourselves.


@Grab(group='com.jcraft', module='jsch', version='0.1.46')
import com.jcraft.jsch.*

java.util.Properties config = new java.util.Properties()
config.put "StrictHostKeyChecking", "no"

JSch ssh = new JSch()
Session sess = ssh.getSession "USERNAME", "HOST", PORT

sess.with{
setConfig config
setPassword "PASSWORD"
connect()
Channel chan = openChannel "sftp"
chan.connect()

ChannelSftp sftp = (ChannelSftp) chan;
sftp.get("/DOWNLOADFOLDER/DOWNLOADFILENAME","c:/LOCALFOLDER/LOCALFILENAME")
sftp.rm("/DOWNLOADFOLDER/DOWNLOADFILENAME")
chan.disconnect()
disconnect()
}