Skip to content
Snippets Groups Projects

Add Sidekiq job for importing CSV requirements async

5 files
+ 29
39
Compare changes
  • Side-by-side
  • Inline
Files
5
@@ -20,6 +20,8 @@ def execute
private
def process_csv
return if with_csv_lines.empty?
with_csv_lines.each do |row, line_no|
issuable_attributes = {
title: row[:title],
@@ -32,7 +34,7 @@ def process_csv
@results[:error_lines].push(line_no)
end
end
rescue ArgumentError, CSV::MalformedCSVError
rescue ArgumentError
@results[:parse_error] = true
end
@@ -47,11 +49,13 @@ def with_csv_lines
}
CSV.new(csv_data, csv_parsing_params).each.with_index(2)
rescue CSV::MalformedCSVError
@results[:parse_error] = true
end
def verify_headers!(data)
headers = data.lines.first.downcase
return if headers.include?('title') && headers.include?('description')
headers = data&.lines&.first&.downcase
return if headers&.include?('title') && headers&.include?('description')
raise CSV::MalformedCSVError
end
Loading