'How can I pass variables to post-build actions in Jenkins?

I am trying to send an email in a post-build action, with the content set to some results I computed in a build action. I cannot seem to be able to pass variables from the shell code to any post-build actions.

I have tried with EnvInject, but haven't managed to make it work.

What am I missing?



Solution 1:[1]

As it always happens, I managed to find the solution right after I posted the question.

I managed to solve it by having something like this in the shell script bit:

EMAIL_CONTENT=$(cat <<EOF
Some content here.
Some content there.
EOF
)

EMAIL_RECIPIENTS="[email protected]"    

touch email_properties
echo "EMAIL_CONTENT=${EMAIL_CONTENT}" >> email_properties
echo "EMAIL_RECIPIENTS=${EMAIL_RECIPIENTS}" >> email_properties

And then, in the post-build action, I used Trigger parametrized build on other projects, with the Parameters from properties file option in order to trigger some other job whose only purpose is to email me those credentials. It's a bit of a work around, but it works.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 cgf