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/concerns/alert_management/alert_processing.rb')
-rw-r--r--app/services/concerns/alert_management/alert_processing.rb26
1 files changed, 9 insertions, 17 deletions
diff --git a/app/services/concerns/alert_management/alert_processing.rb b/app/services/concerns/alert_management/alert_processing.rb
index 7b6f681fe3e..98d255dec27 100644
--- a/app/services/concerns/alert_management/alert_processing.rb
+++ b/app/services/concerns/alert_management/alert_processing.rb
@@ -19,11 +19,7 @@ module AlertManagement
# Updates or creates alert from payload for project
# including system notes
def process_alert
- if alert.persisted?
- process_existing_alert
- else
- process_new_alert
- end
+ alert.persisted? ? process_existing_alert : process_new_alert
end
# Creates or closes issue for alert and notifies stakeholders
@@ -33,22 +29,16 @@ module AlertManagement
end
def process_existing_alert
- if resolving_alert?
- process_resolved_alert
- else
- process_firing_alert
- end
+ resolving_alert? ? process_resolved_alert : process_firing_alert
end
def process_resolved_alert
SystemNoteService.log_resolving_alert(alert, alert_source)
- return unless auto_close_incident?
-
if alert.resolve(incoming_payload.ends_at)
SystemNoteService.change_alert_status(alert, User.alert_bot)
- close_issue(alert.issue)
+ close_issue(alert.issue) if auto_close_incident?
else
logger.warn(
message: 'Unable to update AlertManagement::Alert status to resolved',
@@ -66,7 +56,7 @@ module AlertManagement
return if issue.blank? || issue.closed?
::Issues::CloseService
- .new(project, User.alert_bot)
+ .new(project: project, current_user: User.alert_bot)
.execute(issue, system_note: false)
SystemNoteService.auto_resolve_prometheus_alert(issue, project, User.alert_bot) if issue.reset.closed?
@@ -76,6 +66,8 @@ module AlertManagement
if alert.save
alert.execute_services
SystemNoteService.create_new_alert(alert, alert_source)
+
+ process_resolved_alert if resolving_alert?
else
logger.warn(
message: "Unable to create AlertManagement::Alert from #{alert_source}",
@@ -88,7 +80,7 @@ module AlertManagement
def process_incident_issues
return if alert.issue || alert.resolved?
- ::IncidentManagement::ProcessAlertWorker.perform_async(nil, nil, alert.id)
+ ::IncidentManagement::ProcessAlertWorkerV2.perform_async(alert.id)
end
def send_alert_email
@@ -128,7 +120,7 @@ module AlertManagement
end
def alert_source
- alert.monitoring_tool
+ incoming_payload.monitoring_tool
end
def logger
@@ -137,4 +129,4 @@ module AlertManagement
end
end
-AlertManagement::AlertProcessing.prepend_ee_mod
+AlertManagement::AlertProcessing.prepend_mod