diff --git a/CHANGELOG b/CHANGELOG index 74d4031ebaf..d43775faba7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -39,6 +39,7 @@ v 7.8.0 - - Submit comment on command-enter - Notify all members of a group when that group is mentioned in a comment, for example: `@gitlab-org` or `@sales`. + - Extend issue clossing pattern to include "Resolve", "Resolves", "Resolved", "Resolving" and "Close" - - Fix long broadcast message cut-off on left sidebar (Visay Keo) - Add Project Avatars (Steven Thonus and Hannes Rosenögger) diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 4e015f1646b..d7c1a8428ac 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -114,7 +114,7 @@ Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled']. Settings.gitlab['signin_enabled'] ||= true if Settings.gitlab['signin_enabled'].nil? Settings.gitlab['restricted_visibility_levels'] = Settings.send(:verify_constant_array, Gitlab::VisibilityLevel, Settings.gitlab['restricted_visibility_levels'], []) Settings.gitlab['username_changing_enabled'] = true if Settings.gitlab['username_changing_enabled'].nil? -Settings.gitlab['issue_closing_pattern'] = '((?:[Cc]los(?:e[sd]|ing)|[Ff]ix(?:e[sd]|ing)?) +(?:(?:issues? +)?#\d+(?:(?:, *| +and +)?))+)' if Settings.gitlab['issue_closing_pattern'].nil? +Settings.gitlab['issue_closing_pattern'] = '((?:[Cc]los(?:e[sd]?|ing)|[Ff]ix(?:e[sd]|ing)?|[Rr]esolv(?:e[sd]?|ing)) +(?:(?:issues? +)?#\d+(?:(?:, *| +and +)?))+)' if Settings.gitlab['issue_closing_pattern'].nil? Settings.gitlab['default_projects_features'] ||= {} Settings.gitlab['webhook_timeout'] ||= 10 Settings.gitlab.default_projects_features['issues'] = true if Settings.gitlab.default_projects_features['issues'].nil? diff --git a/spec/lib/gitlab/closing_issue_extractor_spec.rb b/spec/lib/gitlab/closing_issue_extractor_spec.rb index 867455daf23..0a1f3fa351d 100644 --- a/spec/lib/gitlab/closing_issue_extractor_spec.rb +++ b/spec/lib/gitlab/closing_issue_extractor_spec.rb @@ -27,13 +27,103 @@ describe Gitlab::ClosingIssueExtractor do subject.closed_by_message_in_project(message, project).should == [issue] end + it do + message = "Closing ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "closing ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "Close ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "close ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "Awesome commit (Fixes ##{iid1})" + subject.closed_by_message_in_project(message, project).should == [issue] + end + it do message = "Awesome commit (fixes ##{iid1})" subject.closed_by_message_in_project(message, project).should == [issue] end it do - message = "Awesome commit (fix ##{iid1})" + message = "Fixed ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "fixed ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "Fixing ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "fixing ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "Fix ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "fix ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "Awesome commit (Resolves ##{iid1})" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "Awesome commit (resolves ##{iid1})" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "Resolved ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "resolved ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "Resolving ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "resolving ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "Resolve ##{iid1}" + subject.closed_by_message_in_project(message, project).should == [issue] + end + + it do + message = "resolve ##{iid1}" subject.closed_by_message_in_project(message, project).should == [issue] end end