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::REPOS (3)

.ds Aq ’

NAME

Net::GitHub::V3::Repos - GitHub Repos API

CONTENTS

SYNOPSIS



    use Net::GitHub::V3;

    my $gh = Net::GitHub::V3->new; # read L<Net::GitHub::V3> to set right authentication info
    my $repos = $gh->repos;

    # set :user/:repo for simple calls
    $repos->set_default_user_repo(fayland, perl-net-github);
    my @contributors = $repos->contributors; # dont need pass user and repos



DESCRIPTION

    METHODS

Repos

<http://developer.github.com/v3/repos/>
list
list_all


    # All public repositories on Github
    my @rp = $repos->list_all;
    # starting at id 500
    my @rp = $repos->list_all(500);



list_user
list_org


    my @rp = $repos->list; # or my $rp = $repos->list;
    my @rp = $repos->list({
        type => private
        sort => updated
    });
    my @rp = $repos->list_user(c9s);
    my @rp = $repos->list_user(c9s, {
        type => member
    });
    my @rp = $repos->list_org(perlchina);
    my @rp = $repos->list_org(perlchina, public);



create


    # create for yourself
    my $rp = $repos->create( {
        "name" => "Hello-World",
        "description" => "This is your first repo",
        "homepage" => "https://github.com"
    } );
    # create for organization
    my $rp = $repos->create( {
        "org"  => "perlchina", ## the organization
        "name" => "Hello-World",
        "description" => "This is your first repo",
        "homepage" => "https://github.com"
    } );



get


    my $rp = $repos->get(fayland, perl-net-github);



<B>To ease the keyboard, we provied 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); # take effects for all $gh->
    $repos->set_default_user_repo(fayland, perl-net-github); # only take effect to $gh->repos
    my @contributors = $repos->contributors;



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



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



update


    $repos->update({ homepage => https://metacpan.org/module/Net::GitHub });



delete


    $repos->delete();



contributors
languages
teams
tags
contributors


    my @contributors = $repos->contributors;
    my @languages = $repos->languages;
    my @teams = $repos->teams;
    my @tags = $repos->tags;
    my @branches = $repos->branches;
    my $branch = $repos->branch(master);



Repo Collaborators API

<http://developer.github.com/v3/repos/collaborators/>
collaborators
is_collaborator
add_collaborator
delete_collaborator


    my @collaborators = $repos->collaborators;
    my $is = $repos->is_collaborator(fayland);
    $repos->add_collaborator(fayland);
    $repos->delete_collaborator(fayland);



Commits API

<http://developer.github.com/v3/repos/commits/>
commits
commit


    my @commits = $repos->commits;
    my @commits = $repos->commits({
        author => fayland
    });
    my $commit  = $repos->commit($sha);



comments
commit_comments
create_comment
comment
update_comment
delete_comment


    my @comments = $repos->comments;
    my @comments = $repos->commit_comments($sha);
    my $comment  = $repos->create_comment($sha, {
        "body" => "Nice change",
        "commit_id" => "6dcb09b5b57875f334f61aebed695e2e4193db5e",
        "line" => 1,
        "path" => "file1.txt",
        "position" => 4
    });
    my $comment = $repos->comment($comment_id);
    my $comment = $repos->update_comment($comment_id, {
        "body" => "Nice change"
    });
    my $st = $repos->delete_comment($comment_id);



compare_commits


    my $diffs = $repos->compare_commits($base, $head);



Forks API

<http://developer.github.com/v3/repos/forks/>
forks
create_fork


    my @forks = $repos->forks;
    my $fork = $repos->create_fork;
    my $fork = $repos->create_fork($org);



Repos Deploy Keys API

<http://developer.github.com/v3/repos/keys/>
keys
key
create_key
update_key
delete_key


    my @keys = $repos->keys;
    my $key  = $repos->key($key_id); # get key
    $repos->create_key( {
        title => title,
        key   => $key
    } );
    $repos->update_key($key_id, {
        title => $title,
        key   => $key
    });
    $repos->delete_key($key_id);



Repo Watching API

<http://developer.github.com/v3/repos/watching/>
watchers


    my @watchers = $repos->watchers;



watched


    my @repos = $repos->watched; # what I watched
    my @repos = $repos->watched(c9s);



is_watching


    my $is_watching = $repos->is_watching;
    my $is_watching = $repos->is_watching(fayland, perl-net-github);



watch
unwatch


    my $st = $repos->watch();
    my $st = $repos->watch(fayland, perl-net-github);
    my $st = $repos->unwatch();
    my $st = $repos->unwatch(fayland, perl-net-github);



Subscriptions

Github changed the ideas of Watchers (stars) and Subscriptions (new watchers).



    https://github.com/blog/1204-notifications-stars



The Watchers code in this module predates the terminology change, so the new Watcher methods use the GitHub ’subscription’ terminology.
subscribers Returns a list of subscriber data hashes.
is_subscribed Returns true or false if you are subscribed



    $repos->is_subscribed();
    $repos->is_subscribed(fayland,perl-net-github);



subscription Returns more information about your subscription to a repo. is_subscribed is a shortcut to calling this and checking for subscribed => 1.
subscribe Required argument telling github if you want to subscribe or if you want to ignore mentions. If you want to change from subscribed to ignores you need to unsubscribe first.



    $repos->subscribe(fayland,perl-net-github, { subscribed => 1 })
    $repos->subscribe(fayland,perl-net-github, { ignored => 1 })



unsubscribe


    $repos->unsubscribe(fayland,perl-net-github);



Hooks API

<http://developer.github.com/v3/repos/hooks/>
hooks
hook
create_hook
update_hook
test_hook
delete_hook


    my @hooks = $repos->hooks;
    my $hook  = $repos->hook($hook_id);
    my $hook  = $repos->create_hook($hook_hash);
    my $hook  = $repos->update_hook($hook_id, $new_hook_hash);
    my $st    = $repos->test_hook($hook_id);
    my $st    = $repos->delete_hook($hook_id);



Repo Merging API

<http://developer.github.com/v3/repos/merging/>
merges


    my $status = $repos->merges( {
        "base" => "master",
        "head" => "cool_feature",
        "commit_message" => "Shipped cool_feature!"
    } );



Repo Statuses API

<http://developer.github.com/v3/repos/statuses/>
list_statuses


    my @statuses = $repos->list_statuses($sha1);



create_status


    my $status = $repos->create_status( {
        "state" => "success",
        "target_url" => "https://example.com/build/status",
        "description" => "The build succeeded!"
    } );



Repo Releases API

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


    my @releases = $repos->releases();



release


    my $release = $repos->release($release_id);



create_release


    my $release = $repos->create_release({
      "tag_name" => "v1.0.0",
      "target_commitish" => "master",
      "name" => "v1.0.0",
      "body" => "Description of the release",
      "draft" => \1,
    });



update_release


    my $release = $repos->update_release($release_id, {
      "tag_name" => "v1.0.0",
      "target_commitish" => "master",
      "name" => "v1.0.0",
      "body" => "Description of the release",
    });



delete_release


    $repos->delete_release($release_id);



release_assets


    my @release_assets = $repos->release_assets($release_id);



upload_asset


    my $asset = $repos->upload_asset($release_id, $name, $content_type, $file_content);



Check examples/upload_asset.pl for a working example.

release_asset


    my $release_asset = $repos->release_asset($release_id, $asset_id);



update_release_asset


    my $release_asset = $repos->update_release_asset($release_id, $asset_id, {
        name" => "foo-1.0.0-osx.zip",
        "label" => "Mac binary"
    });



delete_release_asset


    my $ok = $repos->delete_release_asset($release_id, $asset_id);



Repo Deployment API

<http://developer.github.com/v3/repos/deployments/>
list_deployments


    my $response = $repos->list_deployments( $owner, $repo, {
        ref => feature-branch,
    });



create_deployment


    my $response = $repos->create_deployment( $owner, $repo, {
      "ref" => feature-branch,
      "description" => "deploying my new feature",
    });



list_deployment_statuses


    my $response = $repos->list_deployment_statuses( $owner, $repo, $deployment_id );



create_deployment_status


    my $response = $repos->create_deployment_status( $owner, $repo, $deployment_id, {
        "state": "success",
        "target_url": "https://example.com/deployment/42/output",
        "description": "Deployment finished successfully."
    });



Repo Statistics API

<http://developer.github.com/v3/repos/statistics/>
contributor stats
commit activity
code frequency
participation
punch card


    my $contributor_stats   = $repos->contributor_stats($owner, $repo);
    my $commit_activity     = $repos->commit_activity($owner, $repo);
    my $code_freq           = $repos->code_frequency($owner, $repo);
    my $participation       = $repos->participation($owner, $repo);
    my $punch_card          = $repos->punch_card($owner, $repo);



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::REPOS (3) 2016-01-12

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