NAME

Net::GitHub - Perl Interface for github.com

SYNOPSIS

use Net::GitHub;

# default to v3
my $github = Net::GitHub->new(  # Net::GitHub::V3
    login => 'fayland', pass => 'secret'
);

# suggested
# use OAuth to create token with user/pass
my $github = Net::GitHub->new(  # Net::GitHub::V3
    access_token => $token
);

# for backwards, NOTE: Github will terminate API v1 and API v2 in 1 month on May 1st, 2012
my $github = Net::GitHub->new(
    version => 2,
    owner => 'fayland', name => 'perl-net-github'
);

# for V3
# L<Net::GitHub::V3::Users>
my $user = $github->user->show('nothingmuch');
$github->user->update( bio => 'Just Another Perl Programmer' );

# L<Net::GitHub::V3::Repos>
my @repos = $github->repos->list;
my $rp = $github->repos->create( {
    "name" => "Hello-World",
    "description" => "This is your first repo",
    "homepage" => "https://github.com"
} );

DESCRIPTION

http://github.com is a popular git host.

This distribution provides easy methods to access GitHub via their APIs.

Check http://developer.github.com/ for more details of the GitHub APIs.

Read Net::GitHub::V3 for API usage.

If you prefer object oriented way, Pithub is 'There is more than one way to do it'.

FAQ

  • create access_token for Non-Web Application

    my $gh = Net::GitHub::V3->new( login => 'fayland', pass => 'secret' );
    my $oauth = $gh->oauth;
    my $o = $oauth->create_authorization( {
        scopes => ['user', 'public_repo', 'repo', 'gist'], # just ['public_repo']
        note   => 'test purpose',
    } );
    print $o->{token};

    after create the token, you can use it without your password publicly written

    my $github = Net::GitHub->new(
        access_token => $token, # from above
    );

Git

http://github.com/fayland/perl-net-github/

SEE ALSO

Any::Moose, Pithub

AUTHOR

Fayland Lam, <fayland at gmail.com>

Everyone who is listed in Changes.

COPYRIGHT & LICENSE

Copyright 2009-2012 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.