SYNOPSIS
Prefer:
use Net::GitHub;
my $github = Net::GitHub->new(
version => 2, # optional, default as 2
owner => 'fayland', repo => 'perl-net-github'
);
Or:
use Net::GitHub::V2; # for http://github.com/fayland/perl-net-github/tree/master my $github = Net::GitHub::V2->new( owner => 'fayland', repo => 'perl-net-github' );
DESCRIPTION
NOTE: Github will terminate API v1 and API v2 on May 1st, 2012For those (authentication required), you must set login and token (in <https://github.com/account>). If no login and token are provided, your .gitconfig will be loaded: if the github.user and github.token keys are defined, they will be used.
my $github = Net::GitHub::V2->new( owner => 'fayland', repo => 'perl-net-github', login => 'fayland', token => '54b5197d7f92f52abc5c7149b313cf51', # faked );
If you want to work with private repo, you can set always_Authorization.
To disable call rate limiting (e.g. if your account is whitelisted), set api_throttle to 0.
By default, error responses are propagated to the user as they are received from the API. By switching throw_errors on you can make the be turned into exceptions instead, so that you don't have to check for error response after every call.
my $github = Net::GitHub::V2->new( owner => 'fayland', repo => 'perl-net-github', login => 'fayland', token => '54b5197d7f92f52abc5c7149b313cf51', # faked always_Authorization => 1, api_throttle => 0, throw_errors => 0, );
METHODS
repos
$github->repos->create( 'sandbox3', 'Sandbox desc', 'http://fayland.org/', 1 ); $github->repos->show();
Net::GitHub::V2::Repositories
user
my $followers = $github->user->followers(); $github->user->update( name => 'Fayland Lam' );
Net::GitHub::V2::Users
commit
my $commits = $github->commit->branch(); my $commits = $github->commit->file( 'master', 'lib/Net/GitHub.pm' ); my $co_detail = $github->commit->show( $sha1 );
Net::GitHub::V2::Commits
issue
my $issues = $github->issue->list('open'); my $issue = $github->issue->open( 'Bug title', 'Bug detail' ); $github->issue->close( $number );
Net::GitHub::V2::Issues
object
my $tree = $github->obj_tree( $tree_sha1 ); # alias object->tree my $blob = $github->obj_blob( $tree_sha1, 'lib/Net/GitHub.pm' ); # alias object->blob my $raw = $github->obj_raw( $sha1 ); # alias object->raw
Net::GitHub::V2::Object
network
$github->network_meta; # alias ->network->network_meta $github->network_data_chunk( $net_hash ); # alias network->network_data_chunk
Net::GitHub::V2::Network
organization
my $organization = $github->organization->organizations('github'); my $teams = $github->organization->teams('PerlChina');
Net::GitHub::V2::Organizations
pull_request
my $pull = $github->pull_request->pull_request();
Net::GitHub::V2::PullRequest
AUTHOR
Fayland Lam, "<fayland at gmail.com>"More on Changes
COPYRIGHT & LICENSE
Copyright 2009-2011 Fayland Lam, all rights reserved.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.