public function createEvent(Request $request, $payload) { $newEvent = json_decode($payload); $event = new RawEvent(); if ($newEvent->build->phase != self::PHASE_COMPLETED) { return []; } if ($newEvent->build->status == self::STATUS_SUCCESS) { $status = Event::STATUS_SUCCESS; $message = ""; } else { $status = Event::STATUS_FAILURE; $message = "Jenkins \"" . $newEvent->name . "\" failed"; } $event->setMessage($message); $event->setStatus($status); $event->setSystem($newEvent->name); $event->setIdentifier($newEvent->name); $event->setUrl($newEvent->build->full_url); $event->setType($event->getIdentifier()); return [$event]; }
private function translate(RawEvent $event, Project $project) { $translations = $this->entityManager->getRepository('KoalamonIncidentDashboardBundle:Translation')->findBy(array('project' => $project)); foreach ($translations as $translation) { if (preg_match('`^' . $translation->getIdentifier() . '$`', $event->getIdentifier())) { return $translation->translate($event); } } return $event; }