fix: [CODE-3338]: remove pr author from list of reviewers in activities (#3536)

This commit is contained in:
Johannes Batzill 2025-03-12 16:26:28 +00:00 committed by Harness
parent f365ba6713
commit bcc9fc50f1

View File

@ -192,10 +192,6 @@ func (c *Controller) Create(
} }
} }
// don't create PR creator as reviewer based on rules
// don't emit an error to allow creation of reviewers from rules
delete(reviewerInputMap, session.Principal.ID)
// Prepare label assign input // Prepare label assign input
var labelAssignOuts []*labelsvc.AssignToPullReqOut var labelAssignOuts []*labelsvc.AssignToPullReqOut
@ -397,26 +393,32 @@ func (c *Controller) prepareRuleReviewers(
codeownerReviewers := make(map[int64]*types.PrincipalInfo) codeownerReviewers := make(map[int64]*types.PrincipalInfo)
if out.RequestCodeOwners { if out.RequestCodeOwners {
codeownerReviewers, err = c.prepareCodeowners( codeownerReviewers, err = c.getApplicableCodeOwners(
ctx, targetRepo, in.TargetBranch, mergeBaseSHA, sourceSHA, ctx, targetRepo, in.TargetBranch, mergeBaseSHA, sourceSHA,
) )
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("failed to prepare code owner reviewers: %w", err) return nil, nil, fmt.Errorf("failed to prepare code owner reviewers: %w", err)
} }
// ensure we remove author from list
delete(codeownerReviewers, session.Principal.ID)
} }
defaultReviewers := make(map[int64]*types.PrincipalInfo, len(out.DefaultReviewerIDs)) defaultReviewers := make(map[int64]*types.PrincipalInfo, len(out.DefaultReviewerIDs))
if len(out.DefaultReviewerIDs) > 0 { if len(out.DefaultReviewerIDs) > 0 {
defaultReviewers, err = c.prepareDefaultReviewers(ctx, out.DefaultReviewerIDs) defaultReviewers, err = c.getDefaultReviewers(ctx, out.DefaultReviewerIDs)
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("failed to prepare default reviewers: %w", err) return nil, nil, fmt.Errorf("failed to prepare default reviewers: %w", err)
} }
// ensure we remove author from list
delete(defaultReviewers, session.Principal.ID)
} }
return codeownerReviewers, defaultReviewers, nil return codeownerReviewers, defaultReviewers, nil
} }
func (c *Controller) prepareCodeowners( func (c *Controller) getApplicableCodeOwners(
ctx context.Context, ctx context.Context,
targetRepo *types.RepositoryCore, targetRepo *types.RepositoryCore,
targetBranch string, targetBranch string,
@ -448,7 +450,7 @@ func (c *Controller) prepareCodeowners(
return principalInfoMap, nil return principalInfoMap, nil
} }
func (c *Controller) prepareDefaultReviewers( func (c *Controller) getDefaultReviewers(
ctx context.Context, ctx context.Context,
reviewerIDs []int64, reviewerIDs []int64,
) (map[int64]*types.PrincipalInfo, error) { ) (map[int64]*types.PrincipalInfo, error) {