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()
|
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;
|
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()
|
protected function loadSwiftMailerFromConfig()
|
||||||
{
|
{
|
||||||
/** @var \Swift_SmtpTransport $transport */
|
/** @var \Swift_SmtpTransport $transport */
|
||||||
|
|
Loading…
Reference in a new issue