Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/merge_requests/base_service.rb')
-rw-r--r--app/services/merge_requests/base_service.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/app/services/merge_requests/base_service.rb b/app/services/merge_requests/base_service.rb
index ec8a17162ca..aaa91548d19 100644
--- a/app/services/merge_requests/base_service.rb
+++ b/app/services/merge_requests/base_service.rb
@@ -36,6 +36,10 @@ module MergeRequests
execute_external_hooks(merge_request, merge_data)
+ if action == 'open' && Feature.enabled?(:group_mentions, merge_request.project)
+ execute_group_mention_hooks(merge_request, merge_data)
+ end
+
enqueue_jira_connect_messages_for(merge_request)
end
@@ -43,6 +47,21 @@ module MergeRequests
# Implemented in EE
end
+ def execute_group_mention_hooks(merge_request, merge_data)
+ return unless merge_request.instance_of?(MergeRequest)
+
+ args = {
+ mentionable_type: 'MergeRequest',
+ mentionable_id: merge_request.id,
+ hook_data: merge_data,
+ is_confidential: false
+ }
+
+ merge_request.run_after_commit_or_now do
+ Integrations::GroupMentionWorker.perform_async(args)
+ end
+ end
+
def handle_changes(merge_request, options)
old_associations = options.fetch(:old_associations, {})
old_assignees = old_associations.fetch(:assignees, [])