getProject()->getType()) { case 'github': return 'https://github.com/' . $this->getProject()->getReference() . '/commit/' . $this->getCommitId(); } } public function getBranchLink() { switch($this->getProject()->getType()) { case 'github': return 'https://github.com/' . $this->getProject()->getReference() . '/tree/' . $this->getBranch(); } } public function sendStatusPostback() { $project = $this->getProject(); if($project->getType() == 'github' && $project->getToken()) { $url = 'https://api.github.com/repos/'.$project->getReference().'/statuses/'.$this->getCommitId(); $http = new \b8\HttpClient(); switch($this->getStatus()) { case 0: case 1: $status = 'pending'; break; case 2: $status = 'success'; break; case 3: $status = 'failure'; break; default: $status = 'error'; break; } $params = array( 'state' => $status, 'target_url' => \b8\Registry::getInstance()->get('install_url') . '/build/view/' . $this->getId()); $http->setHeaders(array('Authorization: token ' . $project->getToken())); $http->request('POST', $url, json_encode($params)); } } }