# frozen_string_literal: true MESSAGE = < 10 "\n
\n\n#{list}\n\n
" else list end end changes = helper.changes_by_category # Ignore any files that are known but uncategoried. Prompt for any unknown files changes.delete(:none) categories = changes.keys - [:unknown] # Single codebase MRs are reviewed using a slightly different process, so we # disable the review roulette for such MRs. # CSS Clean up MRs are reviewed using a slightly different process, so we # disable the review roulette for such MRs. if changes.any? && !gitlab.mr_labels.include?('single codebase') && !gitlab.mr_labels.include?('CSS cleanup') team = begin helper.project_team rescue => err warn("Reviewer roulette failed to load team data: #{err.message}") [] end # Exclude the MR author from the team for selection purposes team.delete_if { |teammate| teammate.username == gitlab.mr_author } project = helper.project_name unknown = changes.fetch(:unknown, []) rows = categories.map { |category| spin(team, project, category) } markdown(MESSAGE) markdown(CATEGORY_TABLE_HEADER + rows.join("\n")) unless rows.empty? markdown(UNKNOWN_FILES_MESSAGE + build_list(unknown)) unless unknown.empty? end