Stance::GitHub - A Perl Interface to GitHub =========================================== This code is part of **The Stance Project**, an attempt to build a small toolkit of modern API clients for rapidly building proof-of-concept application ideas, using Perl. This library in particular provides access to the GitHub API, either for github.com, or on-premise GitHub Enterprise. Usage ----- This is an object-oriented library; you create a GitHub object: use Stance::GitHub; my $github = Stance::GitHub->new(); Then, you'll need to authenticate. Currently, only _personal access tokens_ are supported, but I'll be adding support for OAuth2 flows soon. $github->authenticate(token => $ENV{GITHUB_TOKEN}); After that, you can recurse through organizations into repositories, and finally to issues (which include pull requests): for my $org ($github->orgs) { for my $repo ($org->repos) { print "$org->{login} / $repo->{name}:\n"; for my $issue ($repo->issues) { printf "%- 5s %-30.30s %-10.10s [%s]\n", $issue->{number}, $issue->{title}, $issue->{user}{login}, $issue->{updated_at}; } print "\n"; } } Remember, [GitHub limits requests][limits], even authenticated ones! Contributing ------------ This code is licensed MIT. Enjoy. If you find a bug, please raise a [GitHub Issue][issues] first, before submitting a PR. Happy Hacking! [issues]: https://github.com/jhunt/perl-Stance-GitHub/issues [limits]: https://developer.github.com/v3/#rate-limiting