diff options
Diffstat (limited to 'app/services/merge_requests/base_service.rb')
-rw-r--r-- | app/services/merge_requests/base_service.rb | 19 |
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, []) |