<?php $pages = 1; function req($page = 1) { $request = Request::factory('https://api.github.com/repos/ORGANISATION/REPOSITORY/issues') ->headers('Authorization', 'Basic '.base64_encode('USERNAME:PASSWORD')) ->headers('User-Agent', 'CSV export') ->query([ 'since' => '2014-07-01T00:00:00Z', 'state' => 'all', 'per_page' => 100, 'page' => $page ]) ->execute(); return json_decode($request->body()); } function github() { $this->auto_render = false; header('Content-Type: application/excel'); header('Content-Disposition: attachment; filename=\"github-isuses.csv\"'); $fp = fopen('php://output', 'w'); fputcsv($fp, [ 'ID', 'Title', 'Created Date', 'Updated Date', 'Closed Date', 'Merged Date' ]); for ($i = 1; $i <= ($pages+1); $i++) { $new = req($i); foreach($new AS $item) { fputcsv($fp, [ $item->number, $item->title, $item->created_at, $item->updated_at, $item->closed_at, $item->merged_at, ]); } } fclose($fp); }