Merge branch 'fix-closing-issues' into 'master'
Fix closing issue default pattern Closes #51085 See merge request gitlab-org/gitlab-ce!21531
This commit is contained in:
commit
607a256238
5 changed files with 16 additions and 4 deletions
5
changelogs/unreleased/fix-closing-issues.yml
Normal file
5
changelogs/unreleased/fix-closing-issues.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Fix closing issue default pattern
|
||||||
|
merge_request: 21531
|
||||||
|
author: Samuele Kaplun
|
||||||
|
type: fixed
|
|
@ -94,7 +94,7 @@ production: &base
|
||||||
# This happens when the commit is pushed or merged into the default branch of a project.
|
# This happens when the commit is pushed or merged into the default branch of a project.
|
||||||
# When not specified the default issue_closing_pattern as specified below will be used.
|
# When not specified the default issue_closing_pattern as specified below will be used.
|
||||||
# Tip: you can test your closing pattern at http://rubular.com.
|
# Tip: you can test your closing pattern at http://rubular.com.
|
||||||
# issue_closing_pattern: '((?:[Cc]los(?:e[sd]?|ing)|[Ff]ix(?:e[sd]|ing)?|[Rr]esolv(?:e[sd]?|ing)|[Ii]mplement(?:s|ed|ing)?)(:?) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?)|([A-Z][A-Z0-9_]+-\d+))+)'
|
# issue_closing_pattern: '\b((?:[Cc]los(?:e[sd]?|ing)|\b[Ff]ix(?:e[sd]|ing)?|\b[Rr]esolv(?:e[sd]?|ing)|\b[Ii]mplement(?:s|ed|ing)?)(:?) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?)|([A-Z][A-Z0-9_]+-\d+))+)'
|
||||||
|
|
||||||
## Default project features settings
|
## Default project features settings
|
||||||
default_projects_features:
|
default_projects_features:
|
||||||
|
|
|
@ -136,7 +136,7 @@ Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].
|
||||||
Settings.gitlab['signin_enabled'] ||= true if Settings.gitlab['signin_enabled'].nil?
|
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['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['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)?|[Rr]esolv(?:e[sd]?|ing)|[Ii]mplement(?:s|ed|ing)?)(:?) +(?:(?:issues? +)?%{issue_ref}(?:(?: *,? +and +| *,? *)?)|([A-Z][A-Z0-9_]+-\d+))+)' if Settings.gitlab['issue_closing_pattern'].nil?
|
Settings.gitlab['issue_closing_pattern'] = '\b((?:[Cc]los(?:e[sd]?|ing)|\b[Ff]ix(?:e[sd]|ing)?|\b[Rr]esolv(?:e[sd]?|ing)|\b[Ii]mplement(?:s|ed|ing)?)(:?) +(?:(?:issues? +)?%{issue_ref}(?:(?: *,? +and +| *,? *)?)|([A-Z][A-Z0-9_]+-\d+))+)' if Settings.gitlab['issue_closing_pattern'].nil?
|
||||||
Settings.gitlab['default_projects_features'] ||= {}
|
Settings.gitlab['default_projects_features'] ||= {}
|
||||||
Settings.gitlab['webhook_timeout'] ||= 10
|
Settings.gitlab['webhook_timeout'] ||= 10
|
||||||
Settings.gitlab['max_attachment_size'] ||= 10
|
Settings.gitlab['max_attachment_size'] ||= 10
|
||||||
|
|
|
@ -28,7 +28,7 @@ Because Rubular doesn't understand `%{issue_ref}`, you can replace this by
|
||||||
expression of your liking:
|
expression of your liking:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
gitlab_rails['gitlab_issue_closing_pattern'] = "((?:[Cc]los(?:e[sd]|ing)|[Ff]ix(?:e[sd]|ing)?) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?))+)"
|
gitlab_rails['gitlab_issue_closing_pattern'] = "\b((?:[Cc]los(?:e[sd]|ing)|\b[Ff]ix(?:e[sd]|ing)?) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?))+)"
|
||||||
```
|
```
|
||||||
1. [Reconfigure] GitLab for the changes to take effect.
|
1. [Reconfigure] GitLab for the changes to take effect.
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ Because Rubular doesn't understand `%{issue_ref}`, you can replace this by
|
||||||
1. Change the value of `issue_closing_pattern`:
|
1. Change the value of `issue_closing_pattern`:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
issue_closing_pattern: "((?:[Cc]los(?:e[sd]|ing)|[Ff]ix(?:e[sd]|ing)?) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?))+)"
|
issue_closing_pattern: "\b((?:[Cc]los(?:e[sd]|ing)|\b[Ff]ix(?:e[sd]|ing)?) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?))+)"
|
||||||
```
|
```
|
||||||
|
|
||||||
1. [Restart] GitLab for the changes to take effect.
|
1. [Restart] GitLab for the changes to take effect.
|
||||||
|
|
|
@ -338,6 +338,13 @@ describe Gitlab::ClosingIssueExtractor do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "with an invalid keyword such as suffix insted of fix" do
|
||||||
|
it do
|
||||||
|
message = "suffix #{reference}"
|
||||||
|
expect(subject.closed_by_message(message)).to eq([])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'with multiple references' do
|
context 'with multiple references' do
|
||||||
let(:other_issue) { create(:issue, project: project) }
|
let(:other_issue) { create(:issue, project: project) }
|
||||||
let(:third_issue) { create(:issue, project: project) }
|
let(:third_issue) { create(:issue, project: project) }
|
||||||
|
|
Loading…
Reference in a new issue