Net::GitHub - Perl Interface for github.com
use Net::GitHub;
my $github = Net::GitHub->new( # Net::GitHub::V3
login => 'fayland', pass => 'secret'
);
# If you use two factor authentication you can pass in the OTP. Do
# note that OTPs expire quickly and you will need to generate an oauth
# token to do anything non-trivial.
my $github = Net::GitHub->new(
login => 'fayland',
pass => 'secret',
otp => '123456',
);
# Pass api_url for GitHub Enterprise installations. Do not include a
# trailing slash
my $github = Net::GitHub->new( # Net::GitHub::V3
login => 'fayland',
pass => 'secret',
api_url => 'https://gits.aresweet.com/api/v3'
);
# suggested
# use OAuth to create token with user/pass
my $github = Net::GitHub->new( # Net::GitHub::V3
access_token => $token
);
# 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"
} );
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.
Read Net::GitHub::V4 for GitHub GraphQL API.
If you prefer object oriented way, Pithub is 'There is more than one way to do it'.
-
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 );
http://github.com/fayland/perl-net-github/
Fayland Lam, <fayland at gmail.com>
Everyone who is listed in Changes.
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.