Skip to content

Commit 303a15e

Browse files
committedJun 26, 2014
[JENKINS-17742] - Pick Up Committer from Upstream Job
- fixed review comments (logging and spacing)
1 parent f44a742 commit 303a15e

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed
 

‎src/main/java/hudson/plugins/emailext/plugins/recipients/UpstreamComitterRecipientProvider.java

+13-15
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,25 @@
2020
* Sends emails to committers of upstream builds which triggered this build.
2121
*/
2222
public class UpstreamComitterRecipientProvider extends RecipientProvider {
23+
private static final ExtendedEmailPublisherDescriptor descriptor = Jenkins.getInstance().getDescriptorByType(ExtendedEmailPublisherDescriptor.class);
2324

2425
@DataBoundConstructor
2526
public UpstreamComitterRecipientProvider() {
2627
}
2728

2829
@Override
2930
public void addRecipients(ExtendedEmailPublisherContext context, EnvVars env, Set<InternetAddress> to, Set<InternetAddress> cc, Set<InternetAddress> bcc) {
30-
ExtendedEmailPublisherDescriptor descriptor = Jenkins.getInstance().getDescriptorByType(ExtendedEmailPublisherDescriptor.class);
3131
descriptor.debug(context.getListener().getLogger(), "Sending email to upstream committer(s).");
32-
3332
AbstractBuild<?, ?> cur;
34-
Cause.UpstreamCause upc = context.getBuild().getCause(Cause.UpstreamCause.class);
35-
while (upc != null) {
36-
// UpstreamCause.getUpstreamProject() returns the full name, so use getItemByFullName
37-
AbstractProject<?, ?> p = (AbstractProject<?, ?>) Jenkins.getInstance().getItemByFullName(upc.getUpstreamProject());
38-
if(p == null)
39-
break;
40-
cur = p.getBuildByNumber(upc.getUpstreamBuild());
41-
upc = cur.getCause(Cause.UpstreamCause.class);
42-
addUpstreamCommittersTriggeringBuild(cur, to, cc, bcc, env, context.getListener());
43-
}
33+
Cause.UpstreamCause upc = context.getBuild().getCause(Cause.UpstreamCause.class);
34+
while (upc != null) {
35+
AbstractProject<?, ?> p = (AbstractProject<?, ?>) Jenkins.getInstance().getItemByFullName(upc.getUpstreamProject());
36+
if(p == null)
37+
break;
38+
cur = p.getBuildByNumber(upc.getUpstreamBuild());
39+
upc = cur.getCause(Cause.UpstreamCause.class);
40+
addUpstreamCommittersTriggeringBuild(cur, to, cc, bcc, env, context.getListener());
41+
}
4442
}
4543

4644
/**
@@ -54,15 +52,15 @@ public void addRecipients(ExtendedEmailPublisherContext context, EnvVars env, Se
5452
* @param listener
5553
*/
5654
private void addUpstreamCommittersTriggeringBuild(AbstractBuild<?, ?> build, Set<InternetAddress> to, Set<InternetAddress> cc, Set<InternetAddress> bcc, EnvVars env, TaskListener listener) {
57-
listener.getLogger().println(String.format("Adding upstream committer from job %s with build number %s", build.getProject().getDisplayName(), build.getNumber()));
55+
descriptor.debug(listener.getLogger(), "Adding upstream committer from job %s with build number %s", build.getProject().getDisplayName(), build.getNumber());
5856
for (ChangeLogSet.Entry change : build.getChangeSet()) {
5957
User user = change.getAuthor();
6058
String email = user.getProperty(Mailer.UserProperty.class).getAddress();
6159
if (email != null) {
62-
listener.getLogger().println(String.format("Adding upstream committer %s to recipient list with email %s", user.getFullName(), email));
60+
descriptor.debug(listener.getLogger(), "Adding upstream committer %s to recipient list with email %s", user.getFullName(), email);
6361
EmailRecipientUtils.addAddressesFromRecipientList(to, cc, bcc, email, env, listener);
6462
} else {
65-
listener.getLogger().println(String.format("The user %s does not have a configured email email, trying the user's id", user.getFullName()));
63+
descriptor.debug(listener.getLogger(), "The user %s does not have a configured email email, trying the user's id", user.getFullName());
6664
EmailRecipientUtils.addAddressesFromRecipientList(to, cc, bcc, user.getId(), env, listener);
6765
}
6866
}

0 commit comments

Comments
 (0)
Please sign in to comment.