public function loadIssues() { $projs = list_project(null, null, "published = 1"); foreach ($projs as $proj) { Makiavelo::puts("Getting issues for : " . $proj->name); $data = GithubAPI::getProjectIssues($proj->owner()->name, $proj->name, "open"); foreach ($data as $issue) { $iss = new Issue(); $iss->title = $issue->title; $iss->body = MarkdownExtra::defaultTransform($issue->body); $iss->created_at = $issue->created_at; $iss->updated_at = $issue->updated_at; $iss->url = $issue->html_url; $iss->number = $issue->number; $iss->project_id = $proj->id; Makiavelo::puts("Saving issue: #" . $iss->number); save_issue($iss); } } }
public static function queryProjectData($usr, $repo) { if (self::$TOKEN == null) { self::$TOKEN = self::requestAuth(); } $repo = str_replace(".git", "", $repo); $repo_url = "https://api.github.com/repos/" . $usr . "/" . $repo; Makiavelo::info("Repo URL: " . $repo_url); $data = self::sendRequest($repo_url); $commits_url = $repo_url . "/commits"; $commits_data = self::sendRequest($commits_url); $data->commits = $commits_data; $pull_url = $repo_url . "/pulls"; $pull_data = self::sendRequest($pull_url); $pull_url = $repo_url . "/pulls?state=closed"; $closed_pulls = self::sendRequest($pull_url); if (is_array($closed_pulls)) { $pull_data = array_merge($closed_pulls, $pull_data); } $data->pulls = $pull_data; $open_issues_list = GithubAPI::getProjectIssues($usr, $repo, "open"); $data->open_issues_list = $open_issues_list; $data->open_issues = count($data->open_issues_list); $data->closed_issues = count(GithubAPI::getProjectIssues($usr, $repo, "closed")); $data->readme = GithubAPI::getProjectREADME($repo_url); return $data; }