Issue Details (XML | Word | Printable)

Key: HUDSON-6394
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: mindless
Reporter: abayer
Votes: 1
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Hudson

Email recipients should support use of build parameters

Created: 29/Apr/10 11:32 AM   Updated: 28/Jul/10 02:18 AM   Resolved: 27/Jul/10 02:21 PM
Return to search
Component/s: core
Affects Version/s: None
Fix Version/s: None


 Description  « Hide

The recipients list for email notification should support parameter expansion.



Sort Order: Ascending order - Click to sort in descending order
scm_issue_link added a comment - 29/Apr/10 11:46 AM

Code changed in hudson
User: : abayer
Path:
trunk/hudson/main/core/src/main/java/hudson/tasks/Mailer.java
http://hudson-ci.org/commit/30485
Log:
[FIXED HUDSON-6394] Email recipient lists now support build parameters


mwebber added a comment - 07/Jun/10 01:34 PM

This does not appear to work (tested in 1.361). Either I've misunderstood the feature, or it's broken.

On the main Hudson configuration page, I defined an environment variable HUDSON_EMAILS_FOR_GDA_ADMINISTRATOR and an associated value.
In the configuration for a specific job, I specified an email recipient list of ${HUDSON_EMAILS_FOR_GDA_ADMINISTRATOR}. This is the standard Hudson email, not the extended email plugin.

When the job fails and tries to send an email, I get
com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 <${HUDSON_EMAILS_FOR_GDA_ADMINISTRATOR}>... User unknown

I displayed the value of the environment variable in one of the build steps, and it is set correctly.


mindless added a comment - 20/Jul/10 05:17 PM

From the commit above, it looks like it was implemented to only evaluate against parameters specifically for that build.. so your global env var is not used.
abayer, could this be changed to get the EnvVars from build.getEnvironment and call env.expand() instead?


scm_issue_link added a comment - 20/Jul/10 06:46 PM

Code changed in hudson
User: : mindless
Path:
trunk/hudson/main/core/src/main/java/hudson/tasks/Mailer.java
trunk/hudson/main/core/src/main/resources/hudson/tasks/Mailer/config.properties
http://hudson-ci.org/commit/33098
Log:
[FIXED HUDSON-6394] use EnvVars to expand parameters in recipient list
(not just ParametersAction), don't overwrite the field in this object
when parameters are expanded, and note that parameters are supported in
the help text.
Also correct the help text that mentions when email is sent.


mwebber added a comment - 27/Jul/10 06:20 AM

This still fails for me, exactly as per my comment of 7/Jun/2010 - The failure is with Hudson 1.368 and email-ext 2.6.
For a recipient list that contains a $ENVVAR, the substitution is not performed - I tried with both core email, and extended email plugin.


mwebber added a comment - 27/Jul/10 06:22 AM

I'm bumping the priority simply because of the various unsuccessful attempts to fix this. If someone has time to take a look at it, and test any fix, that would be great.


mindless added a comment - 27/Jul/10 12:05 PM

Hm, looks like global env vars are part of build.getEnvironment() during the build steps but not there in the post-build steps. Digging further..


mindless added a comment - 27/Jul/10 02:21 PM

yes, this is the way buildEnvironments is written.

I'm reclosing this issue. Can you open a new improvement request asking for global environment variables to be made available to post-build actions? Thanks.


mwebber added a comment - 28/Jul/10 02:18 AM

A new improvement request has been opened (HUDSON-7075), as requested.