/**
  * @param Request $request
  * @return JsonResponse
  */
 public function indexAction(Request $request, $formatName = "default")
 {
     $payload = file_get_contents('php://input');
     $content = "queryString: " . $request->getQueryString() . "\n payload: " . $payload;
     file_put_contents("/tmp/koalamon/webhook_" . $formatName . ".log", json_encode($content));
     $project = $this->getProject($request->get("api_key"));
     if ($project == null) {
         return $this->getJsonRespone(self::STATUS_FAILURE, "No project with api_key " . $request->get("api_key") . ' found.');
     }
     $rawEvent = $this->getFormatHandler()->run($formatName, $request, $payload);
     if ($rawEvent === false) {
         return $this->getJsonRespone(self::STATUS_SKIPPED);
     }
     $event = new Event();
     $event->setStatus($rawEvent->getStatus());
     $event->setMessage($rawEvent->getMessage());
     $event->setSystem($rawEvent->getSystem());
     $event->setType($rawEvent->getType());
     $event->setUnique($rawEvent->isUnique());
     $event->setUrl($rawEvent->getUrl());
     $event->setValue($rawEvent->getValue());
     $em = $this->getDoctrine()->getManager();
     $identifier = $em->getRepository('BauerIncidentDashboardCoreBundle:EventIdentifier')->findOneBy(array('project' => $project, 'identifier' => $rawEvent->getIdentifier()));
     if (is_null($identifier)) {
         $identifier = new EventIdentifier();
         $identifier->setProject($project);
         $identifier->setIdentifier($rawEvent->getIdentifier());
         $em->persist($identifier);
         $em->flush();
     }
     $event->setEventIdentifier($identifier);
     $translatedEvent = $this->translate($event);
     ProjectHelper::addEvent($this->get("Router"), $em, $translatedEvent);
     return $this->getJsonRespone(self::STATUS_SUCCESS);
 }