current commit
170402.11 · Update DEVELOPERS.md. Change a bunch of ack2s to ack3.
#!/usr/bin/env perl

# This script is intended for Ack maintainers; we *really* like our items
# in the issue tracker to be properly labelled and have milestones.  So
# this script finds any that don't satisfy both criteria and lets the
# maintainer know.

use strict;
use warnings;
use feature 'say';

use Net::GitHub;

sub retrieve_issues {
    my $gh     = Net::GitHub->new;
    $gh->set_default_user_repo('petdance', 'ack3');
    my $issue  = $gh->issue;
    my @issues = $issue->repos_issues( { state => 'open', per_page => 100 });

    while($issue->has_next_page) {
        push @issues, $issue->next_page;
    }

    return @issues;
}

my @issues = retrieve_issues();

foreach my $issue (@issues) {
    my $is_pull_request = defined($issue->{'pull_request'}{'html_url'});

    next if $is_pull_request;

    my $labels    = $issue->{'labels'};
    my $milestone = $issue->{'milestone'};
    my $url       = $issue->{'html_url'};
    my $number    = $issue->{'number'};

    say "Issue #$number has no labels! ($url)" unless @{$labels};
    say "Issue #$number has no milestone! ($url)" unless $milestone;
}