File: listpulls.pl

package info (click to toggle)
qgis 3.40.15%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,185,444 kB
  • sloc: cpp: 1,616,454; python: 372,967; xml: 23,474; sh: 3,761; perl: 3,664; ansic: 2,829; sql: 2,137; yacc: 1,068; lex: 577; javascript: 540; lisp: 411; makefile: 155
file content (30 lines) | stat: -rw-r--r-- 878 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env perl

use strict;
use warnings;

use JSON;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
my $res = $ua->get( "https://api.github.com/repos/qgis/qgis/pulls" );

die "pull request retrieval failed: " . $res->status_line unless $res->is_success;

my %assigned;

printf "%5s %-16s %s\n", "#", "Assignee", "Title";
foreach my $pull ( sort { $a->{number} <=> $b->{number} } @{ JSON::from_json( $res->decoded_content ) } ) {
	my $assignee = $pull->{assignee}->{login};
	$assignee = "" unless defined $assignee;

	push @{ $assigned{$assignee} }, $pull->{number};

	printf "%5d %-16s %s\n", $pull->{number}, $assignee || "", $pull->{title};
}

print "\nASSIGNMENTS:\n";

foreach my $assignee ( sort keys %assigned ) {
	printf "%-22s %s\n", $assignee || "unassigned", join( ", ", sort { $a <=> $b } @{ $assigned{$assignee} } );
}