/** * @param string $key * @param Deployment $deployment * @param SurfCaptainDeployment $surfCaptainDeployment * @return void */ protected function sendHipChatMessage($key, Deployment $deployment, SurfCaptainDeployment $surfCaptainDeployment) { $settings = $this->getSettingsForFunction($key, $surfCaptainDeployment); $pathParts = pathinfo($settings['templatePathAndFilename']); $view = new StandaloneView(); $view->setTemplatePathAndFilename($settings['templatePathAndFilename']); $view->setPartialRootPath($pathParts['dirname'] . '/Partials/'); $view->setPartialRootPath($pathParts['dirname'] . '/Layouts/'); $view->assign('deployment', $deployment)->assign('surfCaptainDeployment', $surfCaptainDeployment)->assign('settings', $settings); $enabled = trim($view->renderSection('Enabled')); if (empty($enabled)) { return; } switch (strtolower($pathParts['extension'])) { case 'txt': $format = HipChatDriver::MESSAGE_FORMAT_TEXT; break; default: $format = HipChatDriver::MESSAGE_FORMAT_HTML; } switch ($surfCaptainDeployment->getStatus()) { case SurfCaptainDeployment::STATUS_RUNNING: $color = HipChatDriver::MESSAGE_COLOR_YELLOW; break; case SurfCaptainDeployment::STATUS_FAILED: $color = HipChatDriver::MESSAGE_COLOR_RED; break; default: $color = HipChatDriver::MESSAGE_COLOR_GREEN; } $this->hipChatDriver->setSettings($settings)->sendMessage($settings['room'], $view->renderSection('Message'), $format, TRUE, $color); }
/** * @param string $key * @param Deployment $deployment * @param SurfCaptainDeployment $surfCaptainDeployment * @return void */ protected function sendMail($key, Deployment $deployment, SurfCaptainDeployment $surfCaptainDeployment) { $settings = $this->getSettingsForFunction($key, $surfCaptainDeployment); $pathParts = pathinfo($settings['templatePathAndFilename']); $view = new StandaloneView(); $view->setTemplatePathAndFilename($settings['templatePathAndFilename']); $view->setPartialRootPath($pathParts['dirname'] . '/Partials/'); $view->setPartialRootPath($pathParts['dirname'] . '/Layouts/'); $view->assign('deployment', $deployment)->assign('surfCaptainDeployment', $surfCaptainDeployment)->assign('settings', $settings); $enabled = trim($view->renderSection('Enabled')); if (empty($enabled)) { return; } switch (strtolower($pathParts['extension'])) { case 'txt': $format = 'text/plain'; break; default: $format = 'text/html'; } $mail = new Message(); $mail->setFrom($settings['from'])->setTo($settings['to'])->setSubject(trim($view->renderSection('Subject')))->setBody(trim($view->renderSection('Body')), $format, 'utf-8'); if (!empty($settings['cc'])) { $mail->setCc($settings['cc']); } if (!empty($settings['bcc'])) { $mail->setBcc($settings['bcc']); } $mail->send(); }