diff --git a/lib/Repository.js b/lib/Repository.js index d338b261..76227267 100644 --- a/lib/Repository.js +++ b/lib/Repository.js @@ -119,6 +119,17 @@ class Repository extends Requestable { return this._request('GET', `/repos/${this.__fullname}/pulls/${number}/files`, null, cb); } + /** + * List the reviews of a specific pull request + * @see https://developer.github.com/v3/pulls/reviews/ + * @param {number|string} number - the PR you wish to fetch + * @param {Requestable.callback} [cb] - will receive the list of reviews from the API + * @return {Promise} - the promise for the http request + */ + listPullRequestReviews(number, cb) { + return this._request('GET', `/repos/${this.__fullname}/pulls/${number}/reviews`, null, cb); + } + /** * Compare two branches/commits/repositories * @see https://developer.github.com/v3/repos/commits/#compare-two-commits diff --git a/test/repository.spec.js b/test/repository.spec.js index ef5101cf..4bfe20f6 100644 --- a/test/repository.spec.js +++ b/test/repository.spec.js @@ -260,6 +260,15 @@ describe('Repository', function() { done(); })); }); + + it('should list pullrequest reviews', function(done) { + remoteRepo.listPullRequestReviews(454, null, assertSuccessful(done, function(err, reviews) { + expect(reviews).to.be.an.array(); + expect(reviews[0]).to.have.own('body', 'Please add tests for this'); + + done(); + })); + }); }); describe('creating/modifiying', function() {