Skip to content

Commit a8b4287

Browse files
authored
Cannot add Reviewer to PR once github-actions is added as a reviewer (#6676)
Part of #6443
1 parent add6da8 commit a8b4287

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/github/pullRequestOverview.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -433,19 +433,21 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
433433
try {
434434
quickPick = await reviewersQuickPick(this._folderRepositoryManager, this._item.remote.remoteName, this._item.base.isInOrganization, this._teamsCount, this._item.author, this._existingReviewers, this._item.suggestedReviewers);
435435
quickPick.busy = false;
436-
const acceptPromise = asPromise<void>(quickPick.onDidAccept).then(() => {
437-
return quickPick!.selectedItems.filter(item => item.user) as (vscode.QuickPickItem & { user: IAccount | ITeam })[] | undefined;
436+
const acceptPromise: Promise<(IAccount | ITeam)[]> = asPromise<void>(quickPick.onDidAccept).then(() => {
437+
const pickedReviewers: (IAccount | ITeam)[] | undefined = quickPick?.selectedItems.filter(item => item.user).map(item => item.user) as (IAccount | ITeam)[];
438+
const botReviewers = this._existingReviewers.filter(reviewer => !isTeam(reviewer.reviewer) && reviewer.reviewer.accountType === 'Bot').map(reviewer => reviewer.reviewer);
439+
return pickedReviewers.concat(botReviewers);
438440
});
439441
const hidePromise = asPromise<void>(quickPick.onDidHide);
440-
const allReviewers = await Promise.race<(vscode.QuickPickItem & { user: IAccount | ITeam })[] | void>([acceptPromise, hidePromise]);
442+
const allReviewers = await Promise.race<(IAccount | ITeam)[] | void>([acceptPromise, hidePromise]);
441443
quickPick.busy = true;
442444

443445
if (allReviewers) {
444446
const newUserReviewers: IAccount[] = [];
445447
const newTeamReviewers: ITeam[] = [];
446448
allReviewers.forEach(reviewer => {
447-
const newReviewers: (IAccount | ITeam)[] = isTeam(reviewer.user) ? newTeamReviewers : newUserReviewers;
448-
newReviewers.push(reviewer.user);
449+
const newReviewers: (IAccount | ITeam)[] = isTeam(reviewer) ? newTeamReviewers : newUserReviewers;
450+
newReviewers.push(reviewer);
449451
});
450452

451453
const removedUserReviewers: IAccount[] = [];
@@ -462,7 +464,7 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
462464
await this._item.deleteReviewRequest(removedUserReviewers, removedTeamReviewers);
463465
const addedReviewers: ReviewState[] = allReviewers.map(selected => {
464466
return {
465-
reviewer: selected.user,
467+
reviewer: selected,
466468
state: 'REQUESTED',
467469
};
468470
});

0 commit comments

Comments
 (0)