diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-19 15:44:42 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-19 15:44:42 +0000 |
commit | 4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch) | |
tree | 5423a1c7516cffe36384133ade12572cf709398d /app/services/concerns | |
parent | e570267f2f6b326480d284e0164a6464ba4081bc (diff) | |
download | gitlab-ce-4555e1b21c365ed8303ffb7a3325d773c9b8bf31.tar.gz |
Add latest changes from gitlab-org/gitlab@13-12-stable-eev13.12.0-rc42
Diffstat (limited to 'app/services/concerns')
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 |