diff options
Diffstat (limited to 'app/services/incident_management/incidents/create_service.rb')
-rw-r--r-- | app/services/incident_management/incidents/create_service.rb | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/app/services/incident_management/incidents/create_service.rb b/app/services/incident_management/incidents/create_service.rb index 7206eaf51b2..5b925e0f440 100644 --- a/app/services/incident_management/incidents/create_service.rb +++ b/app/services/incident_management/incidents/create_service.rb @@ -5,11 +5,12 @@ module IncidentManagement class CreateService < BaseService ISSUE_TYPE = 'incident' - def initialize(project, current_user, title:, description:) + def initialize(project, current_user, title:, description:, severity: IssuableSeverity::DEFAULT) super(project, current_user) @title = title @description = description + @severity = severity end def execute @@ -18,25 +19,19 @@ module IncidentManagement current_user, title: title, description: description, - label_ids: [find_or_create_incident_label.id], issue_type: ISSUE_TYPE ).execute return error(issue.errors.full_messages.to_sentence, issue) unless issue.valid? + issue.update_severity(severity) + success(issue) end private - attr_reader :title, :description - - def find_or_create_incident_label - IncidentManagement::CreateIncidentLabelService - .new(project, current_user) - .execute - .payload[:label] - end + attr_reader :title, :description, :severity def success(issue) ServiceResponse.success(payload: { issue: issue }) |