SYNOPSIS
use Net::GitHub::V3;
my $gh = Net::GitHub::V3->new; # read L<Net::GitHub::V3> to set right authentication info
my $issue = $gh->issue;
DESCRIPTION
METHODS
Issues<http://developer.github.com/v3/issues/>
- issues
-
my @issues = $issue->issues(); my @issues = $issue->issues(filter => 'assigned', state => 'open');
To ease the keyboard, we provied two ways to call any method which starts with :user/:repo
1. SET user/repo before call methods below
$gh->set_default_user_repo('fayland', 'perl-net-github'); # take effects for all $gh-> $issue->set_default_user_repo('fayland', 'perl-net-github'); # only take effect to $gh->issue my @issues = $repos->issues;
2. If it is just for once, we can pass :user, :repo before any arguments
my @issues = $issue->repos_issues($user, $repo);
- repos_issues
-
my @issues = $issue->repos_issues; my @issues = $issue->repos_issues($user, $repos); my @issues = $issue->repos_issues( { state => 'open' } ); my @issues = $issue->repos_issues($user, $repos, { state => 'open' } );
- issue
-
my $issue = $issue->issue($issue_id);
- create_issue
-
my $isu = $issue->create_issue( { "title" => "Found a bug", "body" => "I'm having a problem with this.", "assignee" => "octocat", "milestone" => 1, "labels" => [ "Label1", "Label2" ] } );
- update_issue
-
my $isu = $issue->update_issue( $issue_id, { state => 'closed' } );
Issue Comments API
<http://developer.github.com/v3/issues/comments/>
- comments
- comment
- create_comment
- update_comment
- delete_comment
-
my @comments = $issue->comments($issue_id); my $comment = $issue->comment($comment_id); my $comment = $issue->create_comment($issue_id, { "body" => "a new comment" }); my $comment = $issue->update_comment($comment_id, { "body" => "Nice change" }); my $st = $issue->delete_comment($comment_id);
Issue Event API
<http://developer.github.com/v3/issues/events/>
- events
- repos_events
-
my @events = $issue->events($issue_id); my @events = $issue->repos_events; my $event = $issue->event($event_id);
Issue Labels API
<http://developer.github.com/v3/issues/labels/>
- labels
- label
- create_label
- update_label
- delete_label
-
my @labels = $issue->labels; my $label = $issue->label($label_name); my $label = $issue->create_label( { "name" => "API", "color" => "FFFFFF" } ); my $label = $issue->update_label( $label_name, { "name" => "bugs", "color" => "000000" } ); my $st = $issue->delete_label($label_name);
- issue_labels
- create_issue_label
- delete_issue_label
- replace_issue_label
- delete_issue_labels
- milestone_labels
-
my @labels = $issue->issue_label($issue_id); my @labels = $issue->create_issue_label($issue_id, ['New Label']); my $st = $issue->delete_issue_label($issue_id, $label_name); my @labels = $issue->replace_issue_label($issue_id, ['New Label']); my $st = $issue->delete_issue_labels($issue_id); my @lbales = $issue->milestone_labels($milestone_id);
Issue Milestones API
<http://developer.github.com/v3/issues/milestones/>
- milestones
- milestone
- create_milestone
- update_milestone
- delete_milestone
-
my @milestones = $issue->milestones; my @milestones = $issue->milestones( { state => 'open' } ); my $milestone = $issue->milestone($milestone_id); my $milestone = $issue->create_milestone( { "title" => "String", "state" => "open", "description" => "String", } ); my $milestone = $issue->update_milestone( $milestone_id, { title => 'New Title' } ); my $st = $issue->delete_milestone($milestone_id);
AUTHOR & COPYRIGHT & LICENSE
Refer Net::GitHub