public async Task CanDismissReview() { using (var context = await _github.CreateRepositoryContext("test-repo")) { await _github.CreateTheWorld(context.Repository); var pullRequest = await _github2.CreatePullRequest(context.Repository); var createdReview = await _github.CreatePullRequestReview(context.Repository, pullRequest.Number, "A pending review", PullRequestReviewEvent.RequestChanges); var dismissedReview = await _client.Dismiss(context.RepositoryOwner, context.RepositoryName, pullRequest.Number, createdReview.Id, new PullRequestReviewDismiss { Message = "No soup for you!" }); Assert.Equal(PullRequestReviewState.Dismissed, dismissedReview.State); } }
/// <summary> /// Dismisses a pull request review. /// </summary> /// <remarks>https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="number">The pull request number</param> /// <param name="reviewId">The pull request review number</param> /// <param name="dismissMessage">The message indicating why the review was dismissed</param> public IObservable <PullRequestReview> Dismiss(string owner, string name, int number, long reviewId, PullRequestReviewDismiss dismissMessage) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(dismissMessage, nameof(dismissMessage)); return(_client.Dismiss(owner, name, number, reviewId, dismissMessage).ToObservable()); }