Example #1
0
 public function getRequest($payload)
 {
     $response = Json::decode($payload);
     if (isset($response['repository']) && isset($response['repository']['name']) && isset($response['repository']['url'])) {
         $project = new Project();
         $project->setName($response['repository']['name']);
         $project->setUrl($response['repository']['url']);
         if (isset($response['commits']) && is_array($response['commits'])) {
             foreach ($response['commits'] as $commit) {
                 try {
                     $revision = new Revision();
                     $revision->setMessage($commit['message']);
                     $revision->setTimestamp($commit['timestamp']);
                     $revision->setUrl($commit['url']);
                     $revision->setAuthor($commit['author']['username']);
                     $project->addCommit($revision);
                 } catch (\Exception $e) {
                 }
             }
         }
         return $project;
     } else {
         throw new Exception('Invalid request');
     }
 }