Email plugin now looks in the yaml file for an addresses setting. All these addresses will be mailed with a pass or fail message.
This commit is contained in:
parent
a4c051e024
commit
f8407e39c8
|
@ -63,8 +63,34 @@ class Email implements \PHPCI\Plugin
|
|||
*/
|
||||
public function execute()
|
||||
{
|
||||
// Without some email addresses in the yml file then we
|
||||
// can't do anything.
|
||||
if (!isset($this->options['addresses'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
$addresses = $this->options['addresses'];
|
||||
$sendFailures = array();
|
||||
|
||||
if($this->phpci->getSuccessStatus()) {
|
||||
$body = "";
|
||||
$sendFailures = $this->sendSeparateEmails(
|
||||
$addresses,
|
||||
"PASSED",
|
||||
$body
|
||||
);
|
||||
}
|
||||
else {
|
||||
$body = "";
|
||||
$sendFailures = $this->sendSeparateEmails(
|
||||
$addresses,
|
||||
"FAILED",
|
||||
$body
|
||||
);
|
||||
}
|
||||
|
||||
// This is a success if we've not failed to send anything.
|
||||
return (count($sendFailures) == 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -85,6 +111,18 @@ class Email implements \PHPCI\Plugin
|
|||
return $failedAddresses;
|
||||
}
|
||||
|
||||
public function sendSeparateEmails(array $toAddresses, $subject, $body)
|
||||
{
|
||||
$failures = array();
|
||||
foreach($toAddresses as $address) {
|
||||
$newFailures = $this->sendEmail($address, $subject, $body);
|
||||
foreach($newFailures as $failure) {
|
||||
$failures[] = $failure;
|
||||
}
|
||||
}
|
||||
return $failures;
|
||||
}
|
||||
|
||||
protected function loadSwiftMailerFromConfig()
|
||||
{
|
||||
/** @var \Swift_SmtpTransport $transport */
|
||||
|
|
Loading…
Reference in a new issue