1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
package Pithub::PullRequests::Reviewers;
our $AUTHORITY = 'cpan:PLU';
our $VERSION = '0.01043';
# ABSTRACT: Github v3 Pull Request Review Requests API
use Moo;
use Carp qw( croak );
extends 'Pithub::Base';
sub delete {
my ( $self, %args ) = @_;
croak 'Missing key in parameters: pull_request_id'
unless $args{pull_request_id};
$self->_validate_user_repo_args( \%args );
return $self->request(
method => 'DELETE',
path => sprintf(
'/repos/%s/%s/pulls/%s/requested_reviewers', delete $args{user},
delete $args{repo}, delete $args{pull_request_id}
),
%args,
);
}
sub list {
my ( $self, %args ) = @_;
croak 'Missing key in parameters: pull_request_id'
unless $args{pull_request_id};
$self->_validate_user_repo_args( \%args );
return $self->request(
method => 'GET',
path => sprintf(
'/repos/%s/%s/pulls/%s/requested_reviewers', delete $args{user},
delete $args{repo}, delete $args{pull_request_id}
),
%args,
);
}
sub update {
my ( $self, %args ) = @_;
croak 'Missing key in parameters: pull_request_id'
unless $args{pull_request_id};
croak 'Missing key in parameters: data (hashref)'
unless ref $args{data} eq 'HASH';
$self->_validate_user_repo_args( \%args );
return $self->request(
method => 'POST',
path => sprintf(
'/repos/%s/%s/pulls/%s/requested_reviewers', delete $args{user},
delete $args{repo}, delete $args{pull_request_id}
),
%args,
);
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Pithub::PullRequests::Reviewers - Github v3 Pull Request Review Requests API
=head1 VERSION
version 0.01043
=head1 METHODS
=head2 delete
=over
=item *
Remove requested reviewers
DELETE /repos/:user/:repo/pulls/:id/requested_reviewers
Examples:
my $c = Pithub::PullRequests::Reviewers->new;
my $result = $c->delete(
repo => 'Pithub',
user => 'plu',
pull_request_id => 1,
);
=back
=head2 list
=over
=item *
List requested_reviewers for a pull request
GET /repos/:user/:repo/pulls/:id/requested_reviewers
Examples:
my $c = Pithub::PullRequests::Reviewers->new;
my $result = $c->list(
repo => 'Pithub',
user => 'plu',
pull_request_id => 1,
);
=back
=head2 update
=over
=item *
Request reviewers for a pull request
POST /repos/:user/:repo/pulls/:id/requested_reviewers
Examples:
my $c = Pithub::PullRequests::Reviewers->new;
my $result = $c->update(
repo => 'Pithub',
user => 'plu',
pull_request_id => 1,
data => { reviewers => ['octocat'] },
);
=back
=head1 AUTHOR
Johannes Plunien <plu@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Johannes Plunien.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|