protected static function getApi($url, $params = array()) { $token = self::accessToken(); if ($token) { $params['access_token'] = $token; } $ret = mfwHttp::get(mfwHttp::composeURL($url, $params)); return json_decode($ret, true); }
protected function getUserInfo($token) { if (!isset($token['access_token'])) { return null; } $url = 'https://www.googleapis.com/oauth2/v1/userinfo'; $header = array("Authorization: {$token['token_type']} {$token['access_token']}"); $response = mfwHttp::get($url, $header); return json_decode($response, true); }
* pull requestの中身を精査 */ $alterts = array(); $alerted_pulls = array(); foreach ($pulllists as $repo_id => $pulls) { $repo = $repos[$repo_id]; echo "repository: {$repo->getName()}\n"; // number昇順 usort($pulls, function ($a, $b) { return $a['number'] - $b['number']; }); foreach ($pulls as $num => $p) { echo " {$p['number']} {$p['user']['login']}: {$p['title']}\n"; $url = "https://api.github.com/repos/{$owner}/{$repo->getName()}/pulls/{$p['number']}/files"; $params = array('access_token' => $token); $files = mfwHttp::get(mfwHttp::composeURL($url, $params)); $files = json_decode($files, true); foreach ($pullfilters as $filter) { if ($filter->test($p)) { echo " match pull filter:{$filter->getId()}\n"; $alerts[$repo->getId()][] = array('filter_id' => $filter->getId(), 'repo_id' => $repo->getId(), 'number' => $p['number']); $alerted_pulls[$repo->getId()][$p['number']] = $p; } } foreach ($files as $file) { foreach ($filefilters as $filter) { if ($filter->test($file)) { echo " match file filter:{$filter->getId()}\n"; $alerts[$repo->getId()][] = array('filter_id' => $filter->getId(), 'repo_id' => $repo->getId(), 'number' => $p['number'], 'filename' => $file['filename']); $alerted_pulls[$repo->getId()][$p['number']] = $p; }