This week's dice roll
Bron Gondwana
brong at fastmailteam.com
Mon Jul 3 09:07:05 EDT 2017
Now not including Nicola, and with extra magic in the script to set the
label and alter the owner:
Bron (brong)
* https://github.com/cyrusimap/cyrus-imapd/issues/1911
* https://github.com/cyrusimap/cyrus-imapd/issues/1621
* https://github.com/cyrusimap/cyrus-imapd/issues/1073
* https://github.com/cyrusimap/cyrus-imapd/issues/1697
* https://github.com/cyrusimap/cyrus-imapd/issues/1841
Ken (ksmurchison)
* https://github.com/cyrusimap/cyrus-imapd/issues/1893
* https://github.com/cyrusimap/cyrus-imapd/issues/519
* https://github.com/cyrusimap/cyrus-imapd/issues/690
* https://github.com/cyrusimap/cyrus-imapd/issues/951
* https://github.com/cyrusimap/cyrus-imapd/issues/1746
Partha (ajaysusarla)
* https://github.com/cyrusimap/cyrus-imapd/issues/608
* https://github.com/cyrusimap/cyrus-imapd/issues/1155
* https://github.com/cyrusimap/cyrus-imapd/issues/1710
* https://github.com/cyrusimap/cyrus-imapd/issues/1618
* https://github.com/cyrusimap/cyrus-imapd/issues/1907
Robert (rsto)
* https://github.com/cyrusimap/cyrus-imapd/issues/60
* https://github.com/cyrusimap/cyrus-imapd/issues/1284
* https://github.com/cyrusimap/cyrus-imapd/issues/735
* https://github.com/cyrusimap/cyrus-imapd/issues/1569
* https://github.com/cyrusimap/cyrus-imapd/issues/1498
ellie (elliefm)
* https://github.com/cyrusimap/cyrus-imapd/issues/1053
* https://github.com/cyrusimap/cyrus-imapd/issues/1793
* https://github.com/cyrusimap/cyrus-imapd/issues/1650
* https://github.com/cyrusimap/cyrus-imapd/issues/1726
* https://github.com/cyrusimap/cyrus-imapd/issues/1938
Here's the icky ghetto GitHub API code... seriously, all the docs
say "id", but the mean "number", and you get back label and assignee
objects, but write just names. It's really an odd API. Anyway,
this works :)
brong at bat:~/src/BugzillaImport$ cat pick5.pl
use strict;
use warnings;
use Net::GitHub;
use Data::Dumper;
use XML::Fast;
use HTML::Entities;
use DateTime::Format::DateParse;
use Encode qw(decode_utf8 encode_utf8);
use JSON;
use List::Util qw(shuffle);
BEGIN {
Net::GitHub::V3::Issues->__build_methods(
import_issue => { url => "/repos/%s/%s/import/issues", method =>
'POST', args => 1 }, );
};
open(FH, "<oauth_token.txt");
my $token = <FH>;
chomp($token);
close(FH);
my $gh = Net::GitHub::V3->new(
access_token => $token,
);
$gh->ua->default_header(Accept => 'application/vnd.github.golden-comet-
preview+json');
my $issue = $gh->issue;
$issue->set_default_user_repo('cyrusimap', 'cyrus-imapd');
use HTTP::Message;
$issue->ua->default_header('Accept-Encoding' => scalar
HTTP::Message::decodable());# for debugging
#$issue->ua->add_handler("request_send", sub { shift->dump; return });#$issue->ua->add_handler("response_done", sub { shift->dump; return });
my @labels = $issue->labels();
my %labels = map { $_->{name} => $_ } @labels;
my %have;
my @issues = $issue->repos_issues({filter => 'all', state => 'open'});
push @issues, $issue->next_page() while $issue->has_next_page();
my @list = shuffle grep { not has_diceroll($_) } @issues;
my $n = 0;
my %map = qw(
Ken ksmurchison
Robert rsto
Partha ajaysusarla
Bron brong
ellie elliefm
);
foreach my $name (sort keys %map) {
print "$name ($map{$name})\n";
for (1..5) {
my $item = $list[$n++];
my @labels = map { $_->{name} } @{$item->{labels}};
push @labels, 'diceroll';
print " * $item->{html_url}\n";
$issue->update_issue($item->{number}, {
assignee => $map{$name},
labels => \@labels,
});
}
print "\n";
}
sub has_diceroll {
my $issue = shift;
foreach my $label (@{$issue->{labels}}) {
next unless $label->{name} eq 'diceroll';
return 1;
}
return 0;
}
--
Bron Gondwana, CEO, FastMail Pty Ltd
brong at fastmailteam.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20170703/6828a5c7/attachment.html>
More information about the Cyrus-devel
mailing list