Skip to content

Commit

Permalink
fix: don’t assign if MR already has assignees or reviewers (#6386)
Browse files Browse the repository at this point in the history
* fix(gitlab): don’t assign if MR already has assignees

Closes #6375

* add more platforms

* fix github

* simplify gitlab

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
  • Loading branch information
rarkins and viceice committed Jul 16, 2020
1 parent 2ae2d23 commit 0571eb3
Show file tree
Hide file tree
Showing 16 changed files with 175 additions and 16 deletions.
2 changes: 2 additions & 0 deletions lib/platform/azure/__snapshots__/index.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ exports[`platform/azure getBranchPr(branchName) should return the pr 1`] = `null

exports[`platform/azure getPr(prNo) should return a pr in the right format 1`] = `
Object {
"hasReviewers": false,
"isModified": false,
"labels": Array [
"renovate",
Expand All @@ -143,6 +144,7 @@ Object {

exports[`platform/azure getPr(prNo) should return a pr thats been modified 1`] = `
Object {
"hasReviewers": false,
"isModified": true,
"labels": Array [],
"number": 1234,
Expand Down
3 changes: 2 additions & 1 deletion lib/platform/azure/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import is from '@sindresorhus/is';
import {
GitPullRequest,
GitPullRequestCommentThread,
Expand Down Expand Up @@ -262,7 +263,7 @@ export async function getPr(pullRequestId: number): Promise<Pr | null> {
azurePr.isModified =
commits.length > 0 &&
commits[0].author.name !== commits[commits.length - 1].author.name;

azurePr.hasReviewers = is.nonEmptyArray(azurePr.reviewers);
return azurePr;
}

Expand Down
12 changes: 12 additions & 0 deletions lib/platform/bitbucket-server/__snapshots__/index.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -1506,6 +1506,7 @@ Object {
"canMerge": false,
"createdAt": 1547853840016,
"displayNumber": "Pull Request #5",
"hasReviewers": true,
"isConflicted": false,
"isModified": false,
"isStale": false,
Expand Down Expand Up @@ -1957,6 +1958,7 @@ Object {
"canMerge": false,
"createdAt": 1547853840016,
"displayNumber": "Pull Request #5",
"hasReviewers": true,
"isConflicted": false,
"isModified": true,
"isStale": false,
Expand All @@ -1979,6 +1981,7 @@ Object {
"canMerge": false,
"createdAt": 1547853840016,
"displayNumber": "Pull Request #5",
"hasReviewers": true,
"isConflicted": false,
"isModified": false,
"isStale": false,
Expand All @@ -2001,6 +2004,7 @@ Object {
"canMerge": false,
"createdAt": 1547853840016,
"displayNumber": "Pull Request #5",
"hasReviewers": true,
"isConflicted": false,
"isModified": true,
"isStale": false,
Expand Down Expand Up @@ -2160,6 +2164,7 @@ Object {
"canMerge": false,
"createdAt": 1547853840016,
"displayNumber": "Pull Request #5",
"hasReviewers": true,
"isConflicted": false,
"isModified": false,
"isStale": false,
Expand Down Expand Up @@ -2245,6 +2250,7 @@ Object {
"branchName": undefined,
"createdAt": undefined,
"displayNumber": "Pull Request #undefined",
"hasReviewers": false,
"isModified": false,
"isStale": false,
"number": undefined,
Expand Down Expand Up @@ -5372,6 +5378,7 @@ Object {
"canMerge": false,
"createdAt": 1547853840016,
"displayNumber": "Pull Request #5",
"hasReviewers": true,
"isConflicted": false,
"isModified": false,
"isStale": false,
Expand Down Expand Up @@ -5823,6 +5830,7 @@ Object {
"canMerge": false,
"createdAt": 1547853840016,
"displayNumber": "Pull Request #5",
"hasReviewers": true,
"isConflicted": false,
"isModified": true,
"isStale": false,
Expand All @@ -5845,6 +5853,7 @@ Object {
"canMerge": false,
"createdAt": 1547853840016,
"displayNumber": "Pull Request #5",
"hasReviewers": true,
"isConflicted": false,
"isModified": false,
"isStale": false,
Expand All @@ -5867,6 +5876,7 @@ Object {
"canMerge": false,
"createdAt": 1547853840016,
"displayNumber": "Pull Request #5",
"hasReviewers": true,
"isConflicted": false,
"isModified": true,
"isStale": false,
Expand Down Expand Up @@ -6026,6 +6036,7 @@ Object {
"canMerge": false,
"createdAt": 1547853840016,
"displayNumber": "Pull Request #5",
"hasReviewers": true,
"isConflicted": false,
"isModified": false,
"isStale": false,
Expand Down Expand Up @@ -6111,6 +6122,7 @@ Object {
"branchName": undefined,
"createdAt": undefined,
"displayNumber": "Pull Request #undefined",
"hasReviewers": false,
"isModified": false,
"isStale": false,
"number": undefined,
Expand Down
3 changes: 2 additions & 1 deletion lib/platform/bitbucket-server/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import url, { URLSearchParams } from 'url';
import is from '@sindresorhus/is';
import delay from 'delay';
import { RenovateConfig } from '../../config/common';
import {
Expand Down Expand Up @@ -267,7 +268,7 @@ export async function getPr(
reviewers: res.body.reviewers.map((r) => r.user.name),
isModified: false,
};

pr.hasReviewers = is.nonEmptyArray(pr.reviewers);
pr.version = updatePrVersion(pr.number, pr.version);

if (pr.state === PR_STATE_OPEN) {
Expand Down
5 changes: 5 additions & 0 deletions lib/platform/bitbucket/__snapshots__/index.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,7 @@ Object {
"canMerge": true,
"createdAt": "2018-07-02T07:02:25.275030+00:00",
"displayNumber": "Pull Request #5",
"hasReviewers": false,
"isConflicted": false,
"isModified": false,
"isStale": false,
Expand Down Expand Up @@ -919,6 +920,7 @@ Object {
"canMerge": true,
"createdAt": "2018-07-02T07:02:25.275030+00:00",
"displayNumber": "Pull Request #3",
"hasReviewers": false,
"isConflicted": false,
"isModified": true,
"isStale": false,
Expand All @@ -936,6 +938,7 @@ Object {
"canMerge": true,
"createdAt": "2018-07-02T07:02:25.275030+00:00",
"displayNumber": "Pull Request #5",
"hasReviewers": false,
"isConflicted": false,
"isModified": false,
"isStale": false,
Expand All @@ -953,6 +956,7 @@ Object {
"canMerge": true,
"createdAt": "2018-07-02T07:02:25.275030+00:00",
"displayNumber": "Pull Request #5",
"hasReviewers": false,
"isConflicted": false,
"isModified": true,
"isStale": false,
Expand Down Expand Up @@ -1082,6 +1086,7 @@ Object {
"canMerge": true,
"createdAt": "2018-07-02T07:02:25.275030+00:00",
"displayNumber": "Pull Request #5",
"hasReviewers": false,
"isConflicted": false,
"isModified": false,
"isStale": false,
Expand Down
3 changes: 3 additions & 0 deletions lib/platform/bitbucket/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import URL from 'url';
import is from '@sindresorhus/is';
import addrs from 'email-addresses';
import parseDiff from 'parse-diff';
import { RenovateConfig } from '../../config/common';
Expand Down Expand Up @@ -327,6 +328,8 @@ export async function getPr(prNo: number): Promise<Pr | null> {
res.isStale = await git.isBranchStale(pr.source.branch.name);
}

res.hasReviewers = is.nonEmptyArray(pr.reviewers);

return res;
}

Expand Down
2 changes: 2 additions & 0 deletions lib/platform/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ export interface Pr {
canMergeReason?: string;
createdAt?: string;
displayNumber?: string;
hasAssignees?: boolean;
hasReviewers?: boolean;
isConflicted?: boolean;
isModified?: boolean;
isStale?: boolean;
Expand Down
6 changes: 6 additions & 0 deletions lib/platform/gitea/__snapshots__/index.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Object {
"canMerge": true,
"createdAt": "2014-04-01T05:14:20Z",
"displayNumber": "Pull Request #42",
"hasAssignees": false,
"isConflicted": false,
"isModified": undefined,
"isStale": undefined,
Expand All @@ -26,6 +27,7 @@ Object {
"canMerge": true,
"createdAt": "2014-04-01T05:14:20Z",
"displayNumber": "Pull Request #42",
"hasAssignees": false,
"isConflicted": false,
"isModified": undefined,
"isStale": undefined,
Expand All @@ -45,6 +47,7 @@ Object {
"canMerge": true,
"createdAt": "2015-03-22T20:36:16Z",
"displayNumber": "Pull Request #1",
"hasAssignees": false,
"isConflicted": false,
"isModified": true,
"isStale": false,
Expand All @@ -64,6 +67,7 @@ Object {
"canMerge": true,
"createdAt": "2015-03-22T20:36:16Z",
"displayNumber": "Pull Request #1",
"hasAssignees": false,
"isConflicted": false,
"isModified": false,
"isStale": false,
Expand All @@ -84,6 +88,7 @@ Array [
"canMerge": true,
"createdAt": "2015-03-22T20:36:16Z",
"displayNumber": "Pull Request #1",
"hasAssignees": false,
"isConflicted": false,
"isModified": undefined,
"isStale": undefined,
Expand All @@ -100,6 +105,7 @@ Array [
"canMerge": true,
"createdAt": "2011-08-18T22:30:38Z",
"displayNumber": "Pull Request #2",
"hasAssignees": false,
"isConflicted": false,
"isModified": undefined,
"isStale": undefined,
Expand Down
4 changes: 4 additions & 0 deletions lib/platform/gitea/gitea-helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ export interface PR {
sha: string;
repo?: Repo;
};
assignee?: {
login?: string;
};
assignees?: any[];
}

export interface Issue {
Expand Down
2 changes: 2 additions & 0 deletions lib/platform/gitea/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import URL from 'url';
import is from '@sindresorhus/is';
import { configFileNames } from '../../config/app-strings';
import { RenovateConfig } from '../../config/common';
import {
Expand Down Expand Up @@ -104,6 +105,7 @@ function toRenovatePR(data: helper.PR): Pr | null {
isConflicted: !data.mergeable,
isStale: undefined,
isModified: undefined,
hasAssignees: !!(data.assignee?.login || is.nonEmptyArray(data.assignees)),
};
}

Expand Down

0 comments on commit 0571eb3

Please sign in to comment.