From 2a040e2655fe0a99df61ad0a7bd0c27e68af0c38 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 21 Feb 2020 12:09:07 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- app/services/projects/alerting/notify_service.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'app/services/projects') diff --git a/app/services/projects/alerting/notify_service.rb b/app/services/projects/alerting/notify_service.rb index 4ca3b154e4b..d34d6f6a915 100644 --- a/app/services/projects/alerting/notify_service.rb +++ b/app/services/projects/alerting/notify_service.rb @@ -4,12 +4,14 @@ module Projects module Alerting class NotifyService < BaseService include Gitlab::Utils::StrongMemoize + include IncidentManagement::Settings def execute(token) return forbidden unless alerts_service_activated? return unauthorized unless valid_token?(token) - process_incident_issues + process_incident_issues if process_issues? + send_alert_email if send_email? ServiceResponse.success rescue Gitlab::Alerting::NotificationPayloadParser::BadPayloadError @@ -20,11 +22,21 @@ module Projects delegate :alerts_service, :alerts_service_activated?, to: :project + def send_email? + incident_management_setting.send_email? + end + def process_incident_issues IncidentManagement::ProcessAlertWorker .perform_async(project.id, parsed_payload) end + def send_alert_email + notification_service + .async + .prometheus_alerts_fired(project, [parsed_payload]) + end + def parsed_payload Gitlab::Alerting::NotificationPayloadParser.call(params.to_h) end -- cgit v1.2.3