about summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/jitterbug/Builder.pm18
-rwxr-xr-xscripts/build-failed.sh7
2 files changed, 10 insertions, 15 deletions
diff --git a/lib/jitterbug/Builder.pm b/lib/jitterbug/Builder.pm
index 1bdb8fa..32bc51c 100644
--- a/lib/jitterbug/Builder.pm
+++ b/lib/jitterbug/Builder.pm
@@ -134,15 +134,15 @@ sub run_task {
         if ( !$result || ($result && $result !~ /PASS/ )) {
             # mail author of the commit
             $result = "FAIL";
-            my $message  = $desc->{'message'};
-            my $commiter = $desc->{'author'}{'email'};
-            my $output   = "Build failed";
-            my $sha      = $desc->{'id'};
-            my $on_failure =
-                $conf->{'jitterbug'}{'build_process'}{'on_failure'};
-            my $on_failure_email =
-                $conf->{'jitterbug'}{'build_process'}{'on_failure_email'};
-            my $failure_cmd = "$on_failure $commiter $message $output $sha $on_failure_email";
+            my $message          = $desc->{'message'};
+            my $commiter         = $desc->{'author'}{'email'};
+            my $output           = "Build failed";
+            my $sha              = $desc->{'id'};
+            my $on_failure       = $conf->{'jitterbug'}{'build_process'}{'on_failure'};
+            my $on_failure_email = $conf->{'jitterbug'}{'build_process'}{'on_failure_email'};
+
+            $message  =~ s/'/\\'/g; $commiter =~ s/'/\\'/g; $output =~ s/'/\\'/g;
+            my $failure_cmd = qq{$on_failure '$commiter' '$message' '$output' $sha $on_failure_email};
             debug("Running failure command: $failure_cmd");
             `$failure_cmd`;
         }
diff --git a/scripts/build-failed.sh b/scripts/build-failed.sh
index 644e35f..1be5cd2 100755
--- a/scripts/build-failed.sh
+++ b/scripts/build-failed.sh
@@ -4,9 +4,4 @@ OUTPUT=$3
 SHA=$4
 CC_EMAIL=$5
 
-echo "
-Message:
-$MESSAGE
-
-$OUTPUT
-" | mail -c "$CC_EMAIL" -s "[jitterbug] BUILD FAILED $SHA" $COMMITER
+echo "Message:\n$MESSAGE\nTest Output:\n$OUTPUT\n" | mail -c "$CC_EMAIL" -s "[jitterbug] BUILD FAILED $SHA" $COMMITER