about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--config.yml2
-rw-r--r--lib/jitterbug/Emailer.pm4
-rw-r--r--t/005_builder.t2
-rw-r--r--t/data/test.yml2
4 files changed, 9 insertions, 1 deletions
diff --git a/config.yml b/config.yml
index 27ccb38..53a50c1 100644
--- a/config.yml
+++ b/config.yml
@@ -19,12 +19,14 @@ jitterbug:
     builder: ./scripts/capsule.sh
     builder_variables:
     on_failure: ./scripts/build-failed.sh
+    on_failure_to_email:
     on_failure_cc_email: alice@example.com
     on_failure_from_email: donotreply@example.com
     on_failure_subject_prefix: "[jitterbug] FAIL "
     on_failure_header:
     on_failure_footer:
     on_pass: ./scripts/build-pass.sh
+    on_pass_to_email:
     on_pass_cc_email: alice@example.com
     on_pass_subject_prefix: "[jitterbug] PASS "
     on_pass_from_email: donotreply@example.com
diff --git a/lib/jitterbug/Emailer.pm b/lib/jitterbug/Emailer.pm
index 0d4d7da..d43b120 100644
--- a/lib/jitterbug/Emailer.pm
+++ b/lib/jitterbug/Emailer.pm
@@ -42,7 +42,6 @@ sub run {
     my $sha1      = $task->commit->sha256;
     my $shortsha1 = substr($sha1, 0, 8);
     my $desc      = JSON::decode_json( $task->commit->content );
-    my $email     = $desc->{'author'}{'email'};
     my $message   = $desc->{'message'};
     my $header    = $buildconf->{"on_${status}_header"};
     my $footer    = $buildconf->{"on_${status}_footer"};
@@ -60,6 +59,9 @@ sub run {
 
     my ($short_message) = split /\n/, $message;
 
+    # Default to the to_email specified in our config. If it isn't set,
+    # use the author email 
+    my $email = $buildconf->{"on_${status}_to_email"} || $desc->{'author'}{'email'};
 
     my $stuff = Email::Stuff->from($buildconf->{"on_${status}_from_email"})
                 # bug in Email::Stuff brakes chaining if $email is empty
diff --git a/t/005_builder.t b/t/005_builder.t
index 93aa4c7..3adf39f 100644
--- a/t/005_builder.t
+++ b/t/005_builder.t
@@ -64,10 +64,12 @@ jitterbug::Test->init();
                                                 'on_pass_header' => undef,
                                                 'on_failure_subject_prefix' => '[jitterbug] FAIL ',
                                                 'on_failure_from_email' => 'donotreply@example.com',
+                                                'on_failure_to_email' => 'bob@example.com',
                                                 'on_failure_footer' => undef,
                                                 'on_failure_header' => undef,
                                                 'on_pass_footer' => undef,
                                                 'on_pass_cc_email' => 'alice@example.com',
+                                                'on_pass_to_email' => undef,
                                                 'on_pass_from_email' => 'donotreply@example.com',
                                                 'on_failure_cc_email' => 'alice@example.com',
                                                 'on_pass' => './scripts/build-pass.sh',
diff --git a/t/data/test.yml b/t/data/test.yml
index 897b734..d8d21c0 100644
--- a/t/data/test.yml
+++ b/t/data/test.yml
@@ -19,12 +19,14 @@ jitterbug:
     builder: ./scripts/capsule.sh
     builder_variables: STUFF=BLAH
     on_failure: ./scripts/build-failed.sh
+    on_failure_to_email: bob@example.com
     on_failure_cc_email: alice@example.com
     on_failure_from_email: donotreply@example.com
     on_failure_subject_prefix: "[jitterbug] FAIL "
     on_failure_header:
     on_failure_footer:
     on_pass: ./scripts/build-pass.sh
+    on_pass_to_email:
     on_pass_cc_email: alice@example.com
     on_pass_subject_prefix: "[jitterbug] PASS "
     on_pass_from_email: donotreply@example.com