Skip to content

Commit

Permalink
Request reviewers if a pull-request is reopened (#192)
Browse files Browse the repository at this point in the history
Co-authored-by: Adam DeHovitz <[email protected]>
  • Loading branch information
AdamDeHovitz and Adam DeHovitz authored Jun 17, 2020
1 parent 470beae commit bbd819e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
8 changes: 4 additions & 4 deletions server/handler/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ func (b *Base) PreparePRContext(ctx context.Context, installationID int64, pr *g
return ctx, logger
}

func (b *Base) Evaluate(ctx context.Context, installationID int64, performActions bool, loc pull.Locator) error {
func (b *Base) Evaluate(ctx context.Context, installationID int64, requestReviews bool, loc pull.Locator) error {
client, err := b.NewInstallationClient(installationID)
if err != nil {
return err
Expand All @@ -147,10 +147,10 @@ func (b *Base) Evaluate(ctx context.Context, installationID int64, performAction
return errors.WithMessage(err, fmt.Sprintf("failed to fetch policy: %s", fetchedConfig))
}

return b.EvaluateFetchedConfig(ctx, prctx, performActions, client, fetchedConfig)
return b.EvaluateFetchedConfig(ctx, prctx, requestReviews, client, fetchedConfig)
}

func (b *Base) EvaluateFetchedConfig(ctx context.Context, prctx pull.Context, performActions bool, client *github.Client, fetchedConfig FetchedConfig) error {
func (b *Base) EvaluateFetchedConfig(ctx context.Context, prctx pull.Context, requestReviews bool, client *github.Client, fetchedConfig FetchedConfig) error {
logger := zerolog.Ctx(ctx)

if fetchedConfig.Missing() {
Expand Down Expand Up @@ -201,7 +201,7 @@ func (b *Base) EvaluateFetchedConfig(ctx context.Context, prctx pull.Context, pe
return err
}

if performActions && statusState == "pending" && !prctx.IsDraft() {
if requestReviews && statusState == "pending" && !prctx.IsDraft() {
hasReviewers, err := prctx.HasReviewers()
if err != nil {
return errors.Wrap(err, "Unable to list request reviewers")
Expand Down
16 changes: 9 additions & 7 deletions server/handler/pull_request.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,16 @@ func (h *PullRequest) Handle(ctx context.Context, eventType, deliveryID string,
installationID := githubapp.GetInstallationIDFromEvent(&event)
ctx, _ = h.PreparePRContext(ctx, installationID, event.GetPullRequest())

performActions := false
if event.GetAction() == "ready_for_review" || event.GetAction() == "opened" {
performActions = true
}

switch event.GetAction() {
case "opened", "reopened", "synchronize", "edited", "ready_for_review", "labeled", "unlabeled":
return h.Evaluate(ctx, installationID, performActions, pull.Locator{
case "opened", "reopened", "ready_for_review":
return h.Evaluate(ctx, installationID, true, pull.Locator{
Owner: event.GetRepo().GetOwner().GetLogin(),
Repo: event.GetRepo().GetName(),
Number: event.GetPullRequest().GetNumber(),
Value: event.GetPullRequest(),
})
case "synchronize", "edited", "labeled", "unlabeled":
return h.Evaluate(ctx, installationID, false, pull.Locator{
Owner: event.GetRepo().GetOwner().GetLogin(),
Repo: event.GetRepo().GetName(),
Number: event.GetPullRequest().GetNumber(),
Expand Down

0 comments on commit bbd819e

Please sign in to comment.