diff --git a/app/assets/javascripts/issues/list/constants.js b/app/assets/javascripts/issues/list/constants.js index 45c8991e167cb28d3dea46924054cb94c1102bba..f2e0165f76de8d8bb0ba747711634b4260b1b95b 100644 --- a/app/assets/javascripts/issues/list/constants.js +++ b/app/assets/javascripts/issues/list/constants.js @@ -23,6 +23,7 @@ import { TOKEN_TYPE_HEALTH, TOKEN_TYPE_ITERATION, TOKEN_TYPE_LABEL, + TOKEN_TYPE_MERGE_USER, TOKEN_TYPE_MILESTONE, TOKEN_TYPE_MY_REACTION, TOKEN_TYPE_ORGANIZATION, @@ -238,6 +239,16 @@ export const filtersMap = { }, }, }, + [TOKEN_TYPE_MERGE_USER]: { + [API_PARAM]: { + [NORMAL_FILTER]: 'mergeUser', + }, + [URL_PARAM]: { + [OPERATOR_IS]: { + [NORMAL_FILTER]: 'merge_user', + }, + }, + }, [TOKEN_TYPE_MILESTONE]: { [API_PARAM]: { [NORMAL_FILTER]: 'milestoneTitle', diff --git a/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue b/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue index de00383ac3fc24231598d1cb3e0dcb5f5ef8c8f8..d26bec96f8693fce00081b8a93eab695c06cca4c 100644 --- a/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue +++ b/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue @@ -31,6 +31,8 @@ import { TOKEN_TYPE_ASSIGNEE, TOKEN_TITLE_REVIEWER, TOKEN_TYPE_REVIEWER, + TOKEN_TYPE_MERGE_USER, + TOKEN_TITLE_MERGE_USER, TOKEN_TITLE_MILESTONE, TOKEN_TYPE_MILESTONE, TOKEN_TITLE_MY_REACTION, @@ -264,6 +266,21 @@ export default { ], unique: true, }, + { + type: TOKEN_TYPE_MERGE_USER, + title: TOKEN_TITLE_MERGE_USER, + icon: 'merge', + token: UserToken, + dataType: 'user', + defaultUsers: [], + operators: OPERATORS_IS, + fullPath: this.fullPath, + isProject: true, + recentSuggestionsStorageKey: `${this.fullPath}-merge_requests-recent-tokens-merged_by`, + preloadedUsers, + multiselect: false, + unique: true, + }, { type: TOKEN_TYPE_MILESTONE, title: TOKEN_TITLE_MILESTONE, diff --git a/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql b/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql index e483ef97748ae4a500be9942ac09c8386dd682eb..1fc02d73ba3497e7544c018403dd1db7316e5578 100644 --- a/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql +++ b/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql @@ -16,6 +16,7 @@ query getMergeRequests( $draft: Boolean $labelName: [String!] $releaseTag: String + $mergeUser: String $milestoneTitle: String $milestoneWildcardId: MilestoneWildcardId $myReactionEmoji: String @@ -41,6 +42,7 @@ query getMergeRequests( draft: $draft labelName: $labelName releaseTag: $releaseTag + mergedBy: $mergeUser milestoneTitle: $milestoneTitle milestoneWildcardId: $milestoneWildcardId myReactionEmoji: $myReactionEmoji diff --git a/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js b/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js index 2f558c03c5d0bf7f819bb6ddd73a06bc45d5cf36..558afa4f9feca0a4871ad4dde2591ebc89256d32 100644 --- a/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js +++ b/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js @@ -14,6 +14,7 @@ import { TOKEN_TYPE_AUTHOR, TOKEN_TYPE_DRAFT, TOKEN_TYPE_LABEL, + TOKEN_TYPE_MERGE_USER, TOKEN_TYPE_MILESTONE, TOKEN_TYPE_MY_REACTION, TOKEN_TYPE_SOURCE_BRANCH, @@ -145,6 +146,7 @@ describe('Merge requests list app', () => { { type: TOKEN_TYPE_REVIEWER, preloadedUsers: [] }, { type: TOKEN_TYPE_AUTHOR, preloadedUsers: [] }, { type: TOKEN_TYPE_DRAFT }, + { type: TOKEN_TYPE_MERGE_USER, preloadedUsers: [] }, { type: TOKEN_TYPE_MILESTONE }, { type: TOKEN_TYPE_TARGET_BRANCH }, { type: TOKEN_TYPE_SOURCE_BRANCH }, @@ -162,6 +164,7 @@ describe('Merge requests list app', () => { reviewer_username: 'bill', draft: 'yes', 'label_name[]': 'fluff', + merge_user: 'mallory', milestone_title: 'milestone', my_reaction_emoji: '🔥', 'target_branches[]': 'branch-a', @@ -198,6 +201,7 @@ describe('Merge requests list app', () => { { type: TOKEN_TYPE_REVIEWER, preloadedUsers }, { type: TOKEN_TYPE_AUTHOR, preloadedUsers }, { type: TOKEN_TYPE_DRAFT }, + { type: TOKEN_TYPE_MERGE_USER, preloadedUsers }, { type: TOKEN_TYPE_MILESTONE }, { type: TOKEN_TYPE_TARGET_BRANCH }, { type: TOKEN_TYPE_SOURCE_BRANCH }, @@ -214,6 +218,7 @@ describe('Merge requests list app', () => { { type: TOKEN_TYPE_REVIEWER }, { type: TOKEN_TYPE_DRAFT }, { type: TOKEN_TYPE_LABEL }, + { type: TOKEN_TYPE_MERGE_USER }, { type: TOKEN_TYPE_MILESTONE }, { type: TOKEN_TYPE_MY_REACTION }, { type: TOKEN_TYPE_TARGET_BRANCH },