コード例 #1
0
 public function createEvent(Request $request, $payload)
 {
     $event = \json_decode($payload);
     if ($event->state == 'completed') {
         $rawEvent = new RawEvent();
         $rawEvent->setSystem($event->_embedded->repository->login . ':' . $event->_embedded->repository->name . ':' . $event->_embedded->head_index->branch_reference);
         $rawEvent->setValue($event->_embedded->head_index->_embedded->project->metric_values->{'scrutinizer.quality'});
         $rawEvent->setIdentifier('scrutinizer:' . $rawEvent->getSystem());
         $rawEvent->setType('scrutinizer');
         $rawEvent->setUrl('https://scrutinizer-ci.com' . str_replace('api/repositories/', '', $event->_links->self->href));
         if ($rawEvent->getValue() > $this->limit) {
             $rawEvent->setStatus(Event::STATUS_SUCCESS);
             $rawEvent->setMessage('');
         } else {
             $rawEvent->setStatus(Event::STATUS_FAILURE);
             $rawEvent->setMessage('The scrutinizer quality index is too low (' . round($rawEvent->getValue(), 2) . ').');
         }
         return $rawEvent;
     }
     return [];
 }
コード例 #2
0
 public static function createFromRawEvent(RawEvent $rawEvent)
 {
     $event = new self();
     $event->setStatus($rawEvent->getStatus());
     $event->setMessage($rawEvent->getMessage());
     $event->setUnique($rawEvent->isUnique());
     $event->setUrl($rawEvent->getUrl());
     $event->setValue($rawEvent->getValue());
     $event->setComponentId($rawEvent->getComponentId());
     return $event;
 }