NAME
Net::GitHub::V3::PullRequests - GitHub Pull Requests API
SYNOPSIS
use
Net::GitHub::V3;
my
$gh
= Net::GitHub::V3->new;
# read L<Net::GitHub::V3> to set right authentication info
my
$pull_request
=
$gh
->pull_request;
DESCRIPTION
To ease the keyboard, we provied 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'
);
# take effects for all $gh->
$pull_request
->set_default_user_repo(
'fayland'
,
'perl-net-github'
);
# only take effect to $gh->pull_request
my
@pulls
=
$pull_request
->pulls();
2. If it is just for once, we can pass :user, :repo before any arguments
my
@pulls
=
$pull_request
->pulls(
$user
,
$repo
);
METHODS
Pull Requets
http://developer.github.com/v3/pulls/
- pulls
-
my
@pulls
=
$pull_request
->pulls();
my
@pulls
=
$pull_request
->pulls( {
state
=>
'open'
} );
while
(
my
$pr
=
$pull_request
->next_pull( {
state
=>
'open'
} )) { ...; }
- pull
-
my
$pull
=
$pull_request
->pull(
$pull_number
);
- create_pull
- update_pull
-
my
$pull
=
$pull_request
->create_pull( {
"title"
=>
"Amazing new feature"
,
"body"
=>
"Please pull this in!"
,
"head"
=>
"octocat:new-feature"
,
"base"
=>
"master"
} );
my
$pull
=
$pull_request
->update_pull(
$pull_number
,
$new_pull_data
);
- commits
- files
-
my
@commits
=
$pull_request
->commits(
$pull_number
);
my
@files
=
$pull_request
->files(
$pull_number
);
while
(
my
$commit
=
$pull_request
->next_commit(
$pull_number
)) { ...; }
while
(
my
$file
=
$pull_request
->next_file(
$pull_number
)) { ...; }
- is_merged
- merge
-
my
$is_merged
=
$pull_request
->is_merged(
$pull_number
);
my
$result
=
$pull_request
->merge(
$pull_number
);
Pull Request Comments API
http://developer.github.com/v3/pulls/comments/
- comments
- comment
- create_comment
- update_comment
- delete_comment
-
my
@comments
=
$pull_request
->comments(
$pull_number
);
while
(
my
$comment
=
$pull_request
->next_comment(
$pull_number
)) { ...; }
my
$comment
=
$pull_request
->comment(
$comment_id
);
my
$comment
=
$pull_request
->create_comment(
$pull_number
, {
"body"
=>
"a new comment"
,
commit_id
=>
'586fe4be94c32248043b344e99fa15c72b40d1c2'
,
path
=>
'test'
,
position
=> 1,
});
my
$comment
=
$pull_request
->update_comment(
$comment_id
, {
"body"
=>
"Nice change"
});
my
$st
=
$pull_request
->delete_comment(
$comment_id
);
Pull Request Reviews API
http://developer.github.com/v3/pulls/reviews/
- reviews
- review
- create_review
- update_review
- delete_review
-
my
@reviews
=
$pull_request
->reviews(
$pull_number
);
while
(
my
$review
=
$pull_request
->next_review(
$pull_number
)) { ...; }
my
$review
=
$pull_request
->review(
$review_id
);
my
$review
=
$pull_request
->create_review(
$pull_number
, {
"body"
=>
"a new review"
,
commit_id
=>
'586fe4be94c32248043b344e99fa15c72b40d1c2'
,
event
=>
'APPROVE'
,
});
my
$review
=
$pull_request
->update_review(
$review_id
, {
"body"
=>
"Nice change"
});
my
$st
=
$pull_request
->delete_review(
$review_id
);
Pull Request Review API
https://developer.github.com/v3/pulls/review_requests/
- reviewers
- add_reviewers
- delete_reviewers
-
my
@reviewers
=
$pull_request
->reviewers(
$pull_number
);
my
$result
=
$pull_request
->add_reviewers(
$pull_number
, {
reviewers
=> [
$user1
,
$user2
],
team_reviewers
=> [
$team1
],
);
my
$result
=
$pull_request
->delete_reviewers(
$pull_number
, {
reviewers
=> [
$user1
,
$user2
],
team_reviewers
=> [
$team1
],
);
AUTHOR & COPYRIGHT & LICENSE
Refer Net::GitHub