diff options
author | Jonathan "Duke" Leto <jonathan@leto.net> | 2011-01-12 15:56:31 -0800 |
---|---|---|
committer | Jonathan "Duke" Leto <jonathan@leto.net> | 2011-01-12 15:56:31 -0800 |
commit | 94b70f3c91af81008a450d15b382c93705da2ce5 (patch) | |
tree | 4755022e5c389f35257891e2852ce488d33847f8 /lib/jitterbug/Builder.pm | |
parent | More jitterbug::Emailer tests (diff) | |
download | jitterbug-94b70f3c91af81008a450d15b382c93705da2ce5.tar.gz |
Allow specification of a perl module to handle build failure emails
Diffstat (limited to '')
-rw-r--r-- | lib/jitterbug/Builder.pm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/jitterbug/Builder.pm b/lib/jitterbug/Builder.pm index 4a8451f..297861f 100644 --- a/lib/jitterbug/Builder.pm +++ b/lib/jitterbug/Builder.pm @@ -146,7 +146,14 @@ sub run_task { $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); debug("Running failure command: $failure_cmd"); - `$failure_cmd`; + + # does it look like a module name? + if ($on_failure =~ /::/) { + # we should do some error checking here + $on_failure->new($conf,$task,$output)->run; + } else { + system($failure_cmd); + } } $desc->{'build'}{'version'}{$name} = $result; close $fh; |