Perl interface to GitHub
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples added support for passing permission to add_team_repos Sep 1, 2016
lib/Net 0.95 Mar 30, 2018
t fix pod and mv pod.t to xt Mar 14, 2013
xt Item-per-item pagination for all submodules with exception of Search Feb 21, 2018
.gitignore for milla release Sep 1, 2016
.travis.yml small change May 3, 2016
Changes 0.95 Mar 30, 2018
LICENSE more files May 3, 2016
META.json 0.95 Mar 30, 2018
Makefile.PL 0.95 Mar 30, 2018
README.md x Jul 22, 2017
cpanfile
dist.ini

README.md

Build Status

NAME

Net::GitHub - Perl Interface for github.com

SYNOPSIS

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"
} );

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.

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'.

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

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.