Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

net::github(3pm) [debian man page]

Net::GitHub(3pm)					User Contributed Perl Documentation					  Net::GitHub(3pm)

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 o 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/ <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. perl v5.14.2 2012-05-07 Net::GitHub(3pm)

Check Out this Related Man Page

Net::GitHub::V3(3pm)					User Contributed Perl Documentation				      Net::GitHub::V3(3pm)

NAME
Net::GitHub::V3 - Github API v3 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://develop.github.com/> 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 api_throttle to 0. RaiseError By default, error responses are propagated to the user as they are received from the API. By switching RaiseError 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 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". See Github's documentation: <http://developer.github.com/v3/#pagination> The "per_page" parameter mentioned in their docs is NOT supported by this module. 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); } 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 To ease the keyboard, we provided two ways to call any method which starts with :user/:repo 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 SEE ALSO
Any::Moose, Pithub AUTHOR &; COPYRIGHT & LICENSE Refer Net::GitHub perl v5.14.2 2012-05-03 Net::GitHub::V3(3pm)
Man Page