gitlab-org--gitlab-foss/app/workers/new_issue_worker.rb

32 lines
775 B
Ruby

# frozen_string_literal: true
class NewIssueWorker # rubocop:disable Scalability/IdempotentWorker
include ApplicationWorker
data_consistency :always
sidekiq_options retry: 3
include NewIssuable
feature_category :team_planning
urgency :high
worker_resource_boundary :cpu
weight 2
attr_reader :issuable_class
def perform(issue_id, user_id, issuable_class = 'Issue')
@issuable_class = issuable_class.constantize
return unless objects_found?(issue_id, user_id)
::EventCreateService.new.open_issue(issuable, user)
::NotificationService.new.new_issue(issuable, user)
issuable.create_cross_references!(user)
Issues::AfterCreateService
.new(project: issuable.project, current_user: user)
.execute(issuable)
end
end