diff --git a/lib/workers/pr/index.spec.ts b/lib/workers/pr/index.spec.ts index 988e78d1d7b158c85f9741fca156b69f6fe082ad..20622c50c100010d1ddac1cf5500a48a8364819c 100644 --- a/lib/workers/pr/index.spec.ts +++ b/lib/workers/pr/index.spec.ts @@ -479,6 +479,17 @@ describe('workers/pr', () => { expect(reviewers).toHaveLength(2); expect(config.reviewers).toEqual(expect.arrayContaining(reviewers)); }); + it('should not add any assignees or reviewers to new PR', async () => { + config.assignees = ['foo', 'bar', 'baz']; + config.assigneesSampleSize = 0; + config.reviewers = ['baz', 'boo', 'bor']; + config.reviewersSampleSize = 0; + const { prResult, pr } = await prWorker.ensurePr(config); + expect(prResult).toEqual(PrResult.Created); + expect(pr).toMatchObject({ displayNumber: 'New Pull Request' }); + expect(platform.addAssignees).toHaveBeenCalledTimes(0); + expect(platform.addReviewers).toHaveBeenCalledTimes(0); + }); it('should add and deduplicate additionalReviewers on new PR', async () => { config.reviewers = ['@foo', 'bar']; config.additionalReviewers = ['bar', 'baz', '@boo']; diff --git a/lib/workers/pr/index.ts b/lib/workers/pr/index.ts index 3030ed65013f4ea079cfeb5493923a5a6b8f9d11..48fa68186e9d3a8b9ac0b5e3c757a1ec41c26142 100644 --- a/lib/workers/pr/index.ts +++ b/lib/workers/pr/index.ts @@ -48,12 +48,14 @@ export async function addAssigneesReviewers( if (config.assigneesSampleSize !== null) { assignees = sampleSize(assignees, config.assigneesSampleSize); } - // istanbul ignore if - if (config.dryRun) { - logger.info(`DRY-RUN: Would add assignees to PR #${pr.number}`); - } else { - await platform.addAssignees(pr.number, assignees); - logger.debug({ assignees }, 'Added assignees'); + if (assignees.length > 0) { + // istanbul ignore if + if (config.dryRun) { + logger.info(`DRY-RUN: Would add assignees to PR #${pr.number}`); + } else { + await platform.addAssignees(pr.number, assignees); + logger.debug({ assignees }, 'Added assignees'); + } } } catch (err) { logger.debug( @@ -78,12 +80,14 @@ export async function addAssigneesReviewers( if (config.reviewersSampleSize !== null) { reviewers = sampleSize(reviewers, config.reviewersSampleSize); } - // istanbul ignore if - if (config.dryRun) { - logger.info(`DRY-RUN: Would add reviewers to PR #${pr.number}`); - } else { - await platform.addReviewers(pr.number, reviewers); - logger.debug({ reviewers }, 'Added reviewers'); + if (reviewers.length > 0) { + // istanbul ignore if + if (config.dryRun) { + logger.info(`DRY-RUN: Would add reviewers to PR #${pr.number}`); + } else { + await platform.addReviewers(pr.number, reviewers); + logger.debug({ reviewers }, 'Added reviewers'); + } } } catch (err) { logger.debug(