RandyWong
RandyWong

Reputation: 85

Cannot receive parameter from Script content to Predefined Parameter in Jenkins

I would like to pass hostname parameter which is declared at Script Content to Predefined Parameter in Trigger/calls on build other project where my child project will receive parameter from the parent project.My code looks like this in Script Content:

`machine_name="$(hostname)"`

So in order to pass my parameter to the child project I declared:

host_name=${machinename}

in Script Content .But when I check in my child project it display as ${machinename} which is not I want .Can someone tell me what am I missing or what step that I done wrong or is there any way to perform this ?

Upvotes: 1

Views: 358

Answers (2)

prudviraj
prudviraj

Reputation: 3744

Try using ENv Inject plugin, all you need to do is below:

Your script should contain below step:

machine_name="$(hostname)" > inject.txt

Now use Inject environment variables build step and in

property file path give inject.txt

what's the use?

By this step, now you machine_name variable holds the hostname value throughout the job.

Next, in your Parameter in Trigger/calls on build other project

host_name=${machine_name}

And use the same variable in child job.

I think there is no need for multiple assignments above, but still you can try this.

Upvotes: 2

diamond
diamond

Reputation: 171

'_' was missing. host_name=$machine_name. you cannot set or pass the parameter value from the script o/p. either make it as env variable using groovy or set in to property file & read.

Upvotes: 0

Related Questions