How do I execute shell script from Jenkins groovy script in the parameters option?

I want to call a shell script in the Uno-Choice Dynamic Reference Parameter
and perform some operation (create some files and call some other shell
scripts from the called shell script) .

As of now I am able to call shell script and cat some files but I am not able
to create new files or call another shell script from within this.

def sout = new StringBuffer(), serr = new StringBuffer()

// 1) 
def proc ='cat /home/path/to/file'.execute()
//display contents of file

// 2) 
def proc="sh /home/path/to/shell/".execute()
//to call a shell script but the above dosent work if I echo some contents
//into some file.

proc.consumeProcessOutput(sout, serr)
return sout.tokenize()

eg:- in if I add line

echo "hello world" > test

then test file is not created

for more understanding:

Groovy executing shell commands

Source: shell

Leave a Reply