From 5352a3ea377434baa8194c5a65e3a5a9d61d27a7 Mon Sep 17 00:00:00 2001 From: James Date: Sun, 10 Nov 2019 14:39:18 +0000 Subject: [PATCH] new time report example --- src/time_report.php | 58 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 src/time_report.php diff --git a/src/time_report.php b/src/time_report.php new file mode 100755 index 0000000..e8d335a --- /dev/null +++ b/src/time_report.php @@ -0,0 +1,58 @@ +#!/usr/bin/php +getIssues() as $issue){ + $issueNumbers[$issue->id]=$issue->number; +} +foreach($repo->getPulls() as $pull){ + $issue=$repo->getIssue($pull->number); + $issueNumbers[$issue->id]=$issue->number; +} +foreach($repo->getIssues(['state'=>'closed']) as $issue){ + $issueNumbers[$issue->id]=$issue->number; +} +foreach($repo->getPulls(['state'=>'closed']) as $pull){ + $issue=$repo->getIssue($pull->number); + $issueNumbers[$issue->id]=$issue->number; +} +$name='jhodges'; +$date='2019-10'; + +$sums=[]; +foreach($repo->getTimesByUsername($name) as $time){ + if($date==date('Y-m',strtotime($time->created))){ + $number=$issueNumbers[$time->issue_id]; + if(!isset($sums[$number])){ + $issue=$repo->getIssue($number); + $sums[$number]=[ + 'id'=>$number, + 'name'=>$issue->title, + 'time'=>0 + ]; + } + $sums[$number]['time']+=$time->time; + } +} + +function format_time($t){ + return sprintf('%02d:%02d:%02d', floor($t/3600), ($t/60)%60, $t%60); +} + +$f=fopen('report.csv','w'); +fputcsv($f,['id','title','time']); +foreach($sums as $id=>$data){ + $data['time']=format_time($data['time']); + fputcsv($f,$data); +} +fclose($f); +echo "Saved as report.csv\n";