summaryrefslogtreecommitdiff
path: root/app/services/concerns
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 15:44:42 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 15:44:42 +0000
commit4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch)
tree5423a1c7516cffe36384133ade12572cf709398d /app/services/concerns
parente570267f2f6b326480d284e0164a6464ba4081bc (diff)
downloadgitlab-ce-4555e1b21c365ed8303ffb7a3325d773c9b8bf31.tar.gz
Add latest changes from gitlab-org/gitlab@13-12-stable-eev13.12.0-rc42
Diffstat (limited to 'app/services/concerns')
-rw-r--r--app/services/concerns/alert_management/alert_processing.rb26
-rw-r--r--app/services/concerns/integrations/project_test_data.rb2
-rw-r--r--app/services/concerns/measurable.rb2
-rw-r--r--app/services/concerns/services/return_service_responses.rb15
4 files changed, 26 insertions, 19 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
diff --git a/app/services/concerns/integrations/project_test_data.rb b/app/services/concerns/integrations/project_test_data.rb
index 5968b90f8fe..acaa773fd49 100644
--- a/app/services/concerns/integrations/project_test_data.rb
+++ b/app/services/concerns/integrations/project_test_data.rb
@@ -63,7 +63,7 @@ module Integrations
return { error: s_('TestHooks|Ensure the project has deployments.') } unless deployment.present?
- Gitlab::DataBuilder::Deployment.build(deployment)
+ Gitlab::DataBuilder::Deployment.build(deployment, Time.current)
end
def releases_events_data
diff --git a/app/services/concerns/measurable.rb b/app/services/concerns/measurable.rb
index fcb3022a1dc..ebce8a0667a 100644
--- a/app/services/concerns/measurable.rb
+++ b/app/services/concerns/measurable.rb
@@ -23,7 +23,7 @@
# end
# end
#
-# DummyService.prepend_if_ee('EE::DummyService')
+# DummyService.prepend_mod_with('DummyService')
# DummyService.prepend(Measurable)
# ```
#
diff --git a/app/services/concerns/services/return_service_responses.rb b/app/services/concerns/services/return_service_responses.rb
new file mode 100644
index 00000000000..75432b76033
--- /dev/null
+++ b/app/services/concerns/services/return_service_responses.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+module Services
+ # adapter for existing services over BaseServiceUtility - add error and
+ # success methods returning ServiceResponse objects
+ module ReturnServiceResponses
+ def error(message, http_status, pass_back: {})
+ ServiceResponse.error(message: message, http_status: http_status, payload: pass_back)
+ end
+
+ def success(payload)
+ ServiceResponse.success(payload: payload)
+ end
+ end
+end