about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorJonathan "Duke" Leto <jonathan@leto.net>2011-02-01 09:33:37 -0800
committerJonathan "Duke" Leto <jonathan@leto.net>2011-02-01 09:33:37 -0800
commite67fff9ed6fc5f0ed7be6d74de819a02bf5debdd (patch)
treea5066d500165ba47c1c0ce0dd6d4e8ebd55ac31d /lib
parentTeach capsule.sh about plain Makefile-based projects (diff)
downloadjitterbug-e67fff9ed6fc5f0ed7be6d74de819a02bf5debdd.tar.gz
Add ability to optionally send emails when the build passes
Diffstat (limited to 'lib')
-rw-r--r--lib/jitterbug/Builder.pm17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/jitterbug/Builder.pm b/lib/jitterbug/Builder.pm
index 26b25e5..4d439ec 100644
--- a/lib/jitterbug/Builder.pm
+++ b/lib/jitterbug/Builder.pm
@@ -142,7 +142,7 @@ sub run_task {
             my $output           = $lines;
             my $sha              = $desc->{'id'};
             my $on_failure       = $conf->{'jitterbug'}{'build_process'}{'on_failure'};
-            my $on_failure_cc_email = $conf->{'jitterbug'}{'build_process'}{'on_failure_email'};
+            my $on_failure_cc_email = $conf->{'jitterbug'}{'build_process'}{'on_failure_cc_email'};
 
             $message  =~ s/'/\\'/g; $commiter =~ s/'/\\'/g; $output =~ s/'/\\'/g;
             my $failure_cmd = sprintf("%s '%s' %s '%s' '%s' %s %s", $on_failure, $commiter, $task->project->name, $message, $output, $sha, $on_failure_cc_email);
@@ -156,6 +156,21 @@ sub run_task {
             } else {
                 system($failure_cmd);
             }
+        } elsif ($conf->{'options'}{'email_on_pass'}) {
+            $result = "PASS";
+            my $message          = $desc->{'message'};
+            my $commiter         = $desc->{'author'}{'email'};
+            my $output           = $lines;
+            my $sha              = $desc->{'id'};
+            my $on_pass          = $conf->{'jitterbug'}{'build_process'}{'on_pass'};
+            my $on_pass_cc_email = $conf->{'jitterbug'}{'build_process'}{'on_pass_cc_email'};
+
+            $message  =~ s/'/\\'/g; $commiter =~ s/'/\\'/g; $output =~ s/'/\\'/g;
+            my $pass_cmd = sprintf("%s '%s' %s '%s' '%s' %s %s", $on_pass, $commiter, $task->project->name, $message, $output, $sha, $on_pass_cc_email);
+            debug("Running pass command: $pass_cmd");
+
+            # TODO: create perl pass emailer
+            system($pass_cmd);
         }
         $desc->{'build'}{'version'}{$name} = $result;
         close $fh;