GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  NET::GITHUB::V3 (3)

.ds Aq ’

NAME

Net::GitHub::V3 - Github API v3

CONTENTS

SYNOPSIS

Prefer:



    use Net::GitHub;
    my $gh = Net::GitHub->new(
        version => 3,
        login => fayland, pass => mypass,
        # or
        # access_token => $oauth_token
    );



Or:



    use Net::GitHub::V3;
    my $gh = Net::GitHub::V3->new(
        login => fayland, pass => mypass,
        # or
        # access_token => $oauth_token
    );



DESCRIPTION

<http://developer.github.com/v3/>

    ATTRIBUTES

Authentication

There are two ways to authenticate through GitHub API v3:
login/pass


    my $gh = Net::GitHub::V3->new( login => $ENV{GITHUB_USER}, pass => $ENV{GITHUB_PASS} );



access_token


    my $gh = Net::GitHub->new( access_token => $ENV{GITHUB_ACCESS_TOKEN} );



raw_response



    my $gh = Net::GitHub->new(
        # login/pass or access_token
        raw_response => 1
    );



return raw HTTP::Response object

raw_string



    my $gh = Net::GitHub->new(
        # login/pass or access_token
        raw_string => 1
    );



return HTTP::Response response content as string

api_throttle



    my $gh = Net::GitHub->new(
        # login/pass or access_token
        api_throttle => 0
    );



To disable call rate limiting (e.g. if your account is whitelisted), set <B>api_throttleB> to 0.

RaiseError

By default, error responses are propagated to the user as they are received from the API. By switching <B>RaiseErrorB> on you can make the be turned into exceptions instead, so that you don’t have to check for error response after every call.

next_url, last_url, prev_url, first_url, per_page

Any methods which return multiple results may be paginated. After performing a query you should check to see if there are more results. These attributes will be reset for each query.

The predicates to check these attributes are has_next_page, has_last_page, has_prev_page and has_first_page.

per_page is default to 100. it will be applied to GET urls no matter it supports or not.

See Github’s documentation: <http://developer.github.com/v3/#pagination>



  my @issues = $gh->issue->repos_issues;
  while ($gh->issue->has_next_page) {
      push @issues, $gh->issue->query($gh->issue->next_url);
      ## OR ##
      push @issues, $gh->issue->next_page;
  }



ua

To set the proxy for ua, you can do something like following



    $gh->ua->proxy(https, socks://127.0.0.1:9050);



$gh->ua is an instance of LWP::UserAgent

    METHODS

query($method, $url, $data)



    my $data = $gh->query(/user);
    $gh->query(PATCH, /user, $data);
    $gh->query(DELETE, /user/emails, [ myemail@somewhere.com ]);



query API directly

next_page

When the results have been paginated, next_page is sugar for the common case of iterating through all the pages in order. It simply calls query with the next_url.

set_default_user_repo



    $gh->set_default_user_repo(fayland, perl-net-github); # take effects for all $gh->
    $gh->repos->set_default_user_repo(fayland, perl-net-github); # take effects on $gh->repos



<B>To ease the keyboard, we provided two ways to call any method which starts with :user/:repoB>

1. SET user/repos before call methods below



    $gh->set_default_user_repo(fayland, perl-net-github);
    my @contributors = $gh->repos->contributors;



2. If it is just for once, we can pass :user, :repo before any arguments



    my @contributors = $repos->contributors($user, $repo);



    MODULES

user



    my $user = $gh->user->show(nothingmuch);
    $gh->user->update( bio => Just Another Perl Programmer );



Net::GitHub::V3::Users

repos



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



Net::GitHub::V3::Repos

issue



    my @issues = $gh->issue->issues();
    my $issue  = $gh->issue->issue($issue_id);



Net::GitHub::V3::Issues

pull_request



    my @pulls = $gh->pull_request->pulls();



Net::GitHub::V3::PullRequests

org



    my @orgs   = $gh->org->orgs;



Net::GitHub::V3::Orgs

git_data

Net::GitHub::V3::GitData

gist

Net::GitHub::V3::Gists

oauth

Net::GitHub::V3::OAuth

event

Net::GitHub::V3::Events

search

Net::GitHub::V3::Search

SEE ALSO

Pithub

AUTHOR & COPYRIGHT & LICENSE

Refer Net::GitHub
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 NET::GITHUB::V3 (3) 2016-01-31

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.