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/script.sh".execute()
//to call a shell script but the above dosent work if I echo some contents
//into some file.

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

eg:- in script.sh if I add line

echo "hello world" > test

then test file is not created

for more understanding:

Groovy executing shell commands

http://jenkins-ci.361315.n4.nabble.com/Executing-a-shell-python-command-in-Jenkins-Dynamic-Choice-Parameter-Plugin-td4711174.html


Source: shell

Leave a Reply