Permalink
Fetching contributors…
Cannot retrieve contributors at this time
53 lines (37 sloc) 1.15 KB
#!/usr/bin/perl env
=head1 SYNOPSIS
LWPCL_REDACT_HEADERS=Authorization perl examples/collaborators.pl
=head1 DESCRIPTION
List all of the collaborators for a repository. Also, display user agent
debugging information.
=cut
use strict;
use warnings;
use feature qw( say );
use Git::Raw::Config;
use LWP::ConsoleLogger::Easy 0.000029 qw( debug_ua );
use LWP::UserAgent;
use Pithub::Repos::Collaborators;
# WWW::Mechanize accepts gzip by default but then doesn't actually decode it
# for you. See https://github.com/kentnl/HTTP-Tiny-Mech/pull/2 for a detailed
# discussion.
my $ua = LWP::UserAgent->new;
debug_ua($ua);
my $c = Pithub::Repos::Collaborators->new(
token => get_token(),
ua => $ua,
);
my $result = $c->list(
repo => 'test-www-mechanize-psgi',
user => 'acme',
);
while ( my $next = $result->next ) {
say $next->{login};
}
# This script requires a GitHub access token. You may either use the
# GITHUB_TOKEN environment variable or set "github.token" in your Git config.
sub get_token {
return $ENV{GITHUB_TOKEN} if $ENV{GITHUB_TOKEN};
my $config = Git::Raw::Config->default;
return $config->str('github.token');
}