Skip to content

Commit

Permalink
fix: comment review should remove the review requested label
Browse files Browse the repository at this point in the history
  • Loading branch information
christophehurpeau committed Sep 12, 2018
1 parent 3636d17 commit 4fa0d50
Showing 1 changed file with 41 additions and 43 deletions.
84 changes: 41 additions & 43 deletions lib/index.js
Expand Up @@ -164,50 +164,48 @@ module.exports = (app) => {
const { user: reviewer, state } = context.payload.review;
if (pr.user.login === reviewer.login) return;

if (state === 'changes_requested' || state === 'approved') {
const reviewerGroup = repoContext.getReviewerGroup(reviewer.login);

if (reviewerGroup && config.labels.review[reviewerGroup]) {
const hasRequestedReviewsForGroup = repoContext.reviewShouldWait(
reviewerGroup,
pr.requested_reviewers,
{
includesReviewerGroup: true,
// TODO reenable this when accepted can notify request review to slack (dev accepted => design requested) and flag to disable for label (approved design ; still waiting for dev ?)
// includesWaitForGroups: true,
}
);
const { data: reviews } = await context.github.pullRequests.getReviews(
context.issue({ per_page: 50 })
);
const hasChangesRequestedInReviews = reviews.some(
(review) =>
repoContext.getReviewerGroup(review.user.login) === reviewerGroup &&
review.state === 'REQUEST_CHANGES'
);

if (!hasChangesRequestedInReviews) {
repoContext.updateLabels(context, {
add: [
state === 'approved' &&
!hasRequestedReviewsForGroup &&
config.labels.review[reviewerGroup].approved,
state === 'changes_requested' &&
config.labels.review[reviewerGroup].changesRequested,
],
remove: [
(!hasRequestedReviewsForGroup || state === 'changes_requested') &&
config.labels.review[reviewerGroup].needsReview,
(!hasRequestedReviewsForGroup || state === 'changes_requested') &&
config.labels.review[reviewerGroup].requested,
state === 'approved' &&
!hasRequestedReviewsForGroup &&
config.labels.review[reviewerGroup].changesRequested,
state === 'changes_requested' &&
config.labels.review[reviewerGroup].approved,
],
});
const reviewerGroup = repoContext.getReviewerGroup(reviewer.login);

if (reviewerGroup && config.labels.review[reviewerGroup]) {
const hasRequestedReviewsForGroup = repoContext.reviewShouldWait(
reviewerGroup,
pr.requested_reviewers,
{
includesReviewerGroup: true,
// TODO reenable this when accepted can notify request review to slack (dev accepted => design requested) and flag to disable for label (approved design ; still waiting for dev ?)
// includesWaitForGroups: true,
}
);
const { data: reviews } = await context.github.pullRequests.getReviews(
context.issue({ per_page: 50 })
);
const hasChangesRequestedInReviews = reviews.some(
(review) =>
repoContext.getReviewerGroup(review.user.login) === reviewerGroup &&
review.state === 'REQUEST_CHANGES'
);

if (!hasChangesRequestedInReviews) {
repoContext.updateLabels(context, {
add: [
state === 'approved' &&
!hasRequestedReviewsForGroup &&
config.labels.review[reviewerGroup].approved,
state === 'changes_requested' &&
config.labels.review[reviewerGroup].changesRequested,
],
remove: [
(!hasRequestedReviewsForGroup || state === 'changes_requested') &&
config.labels.review[reviewerGroup].needsReview,
(!hasRequestedReviewsForGroup || state === 'changes_requested') &&
config.labels.review[reviewerGroup].requested,
state === 'approved' &&
!hasRequestedReviewsForGroup &&
config.labels.review[reviewerGroup].changesRequested,
state === 'changes_requested' &&
config.labels.review[reviewerGroup].approved,
],
});
}
}

Expand Down

0 comments on commit 4fa0d50

Please sign in to comment.