summaryrefslogtreecommitdiff
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 0d24620..58da724 100644
--- a/lib/jitterbug/Builder.pm
+++ b/lib/jitterbug/Builder.pm
@@ -136,15 +136,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