Commit ae977e90 authored by Alina Mihaila's avatar Alina Mihaila Committed by Rémy Coutable

Sanitize MR title for

parent fb15ee16
...@@ -6,6 +6,7 @@ module Gitlab ...@@ -6,6 +6,7 @@ module Gitlab
module Danger module Danger
module Helper module Helper
RELEASE_TOOLS_BOT = 'gitlab-release-tools-bot' RELEASE_TOOLS_BOT = 'gitlab-release-tools-bot'
DRAFT_REGEX = /\A*#{Regexp.union(/(?i)(\[WIP\]\s*|WIP:\s*|WIP$)/, /(?i)(\[draft\]|\(draft\)|draft:|draft\s\-\s|draft$)/)}+\s*/i.freeze
# Returns a list of all files that have been added, modified or renamed. # Returns a list of all files that have been added, modified or renamed.
# `git.modified_files` might contain paths that already have been renamed, # `git.modified_files` might contain paths that already have been renamed,
...@@ -210,7 +211,7 @@ module Gitlab ...@@ -210,7 +211,7 @@ module Gitlab
end end
def sanitize_mr_title(title) def sanitize_mr_title(title)
title.gsub(/^WIP: */, '').gsub(/`/, '\\\`') title.gsub(DRAFT_REGEX, '').gsub(/`/, '\\\`')
end end
def security_mr? def security_mr?
......
...@@ -363,6 +363,11 @@ RSpec.describe Gitlab::Danger::Helper do ...@@ -363,6 +363,11 @@ RSpec.describe Gitlab::Danger::Helper do
where(:mr_title, :expected_mr_title) do where(:mr_title, :expected_mr_title) do
'My MR title' | 'My MR title' 'My MR title' | 'My MR title'
'WIP: My MR title' | 'My MR title' 'WIP: My MR title' | 'My MR title'
'Draft: My MR title' | 'My MR title'
'(Draft) My MR title' | 'My MR title'
'[Draft] My MR title' | 'My MR title'
'[DRAFT] My MR title' | 'My MR title'
'DRAFT: My MR title' | 'My MR title'
end end
with_them do with_them do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment