From c24d74dba9a9de3de1a445cc58d8a565b7ef8d43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=ADdac=20Rodr=C3=ADguez=20Arbon=C3=A8s?= Date: Wed, 31 Oct 2018 16:04:34 +0100 Subject: Allow single letter external issue IDs --- app/models/project_services/issue_tracker_service.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/project_services/issue_tracker_service.rb b/app/models/project_services/issue_tracker_service.rb index e1d342be188..4f7e16a1f5b 100644 --- a/app/models/project_services/issue_tracker_service.rb +++ b/app/models/project_services/issue_tracker_service.rb @@ -12,9 +12,9 @@ class IssueTrackerService < Service # overriden patterns. See ReferenceRegexes::EXTERNAL_PATTERN def self.reference_pattern(only_long: false) if only_long - /(\b[A-Z][A-Z0-9_]+-)(?\d+)/ + /(\b[A-Z][A-Z0-9_]*-)(?\d+)/ else - /(\b[A-Z][A-Z0-9_]+-|#{Issue.reference_prefix})(?\d+)/ + /(\b[A-Z][A-Z0-9_]*-|#{Issue.reference_prefix})(?\d+)/ end end -- cgit v1.2.1 From e63f76c9f173af1eddfe9e07b1b6998e653162c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=ADdac=20Rodr=C3=ADguez=20Arbon=C3=A8s?= Date: Thu, 1 Nov 2018 13:41:01 +0100 Subject: Adding changelog entry --- .../22717-single-letter-identifier-external-issue-tracker.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/22717-single-letter-identifier-external-issue-tracker.yml diff --git a/changelogs/unreleased/22717-single-letter-identifier-external-issue-tracker.yml b/changelogs/unreleased/22717-single-letter-identifier-external-issue-tracker.yml new file mode 100644 index 00000000000..3f7a0d9204e --- /dev/null +++ b/changelogs/unreleased/22717-single-letter-identifier-external-issue-tracker.yml @@ -0,0 +1,5 @@ +--- +title: "Allowing issues with single letter identifiers to be linked to external issue tracker (f.ex T-123)" +merge_request: 22717 +author: Dídac Rodríguez Arbonès +type: changed \ No newline at end of file -- cgit v1.2.1 From 9de175bfff747dd490c1b18a73ef9f04321e9806 Mon Sep 17 00:00:00 2001 From: Sean McGivern Date: Tue, 6 Nov 2018 15:02:09 +0000 Subject: Add specs for single-letter external tracker refs --- .../filter/external_issue_reference_filter_spec.rb | 28 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/spec/lib/banzai/filter/external_issue_reference_filter_spec.rb b/spec/lib/banzai/filter/external_issue_reference_filter_spec.rb index 0d0554a2259..a0270d93d50 100644 --- a/spec/lib/banzai/filter/external_issue_reference_filter_spec.rb +++ b/spec/lib/banzai/filter/external_issue_reference_filter_spec.rb @@ -101,15 +101,24 @@ describe Banzai::Filter::ExternalIssueReferenceFilter do context "redmine project" do let(:project) { create(:redmine_project) } - let(:issue) { ExternalIssue.new("#123", project) } - let(:reference) { issue.to_reference } before do - project.issues_enabled = false - project.save! + project.update!(issues_enabled: false) + end + + context "with a hash prefix" do + let(:issue) { ExternalIssue.new("#123", project) } + let(:reference) { issue.to_reference } + + it_behaves_like "external issue tracker" end - it_behaves_like "external issue tracker" + context "with a single-letter prefix" do + let(:issue) { ExternalIssue.new("T-123", project) } + let(:reference) { issue.to_reference } + + it_behaves_like "external issue tracker" + end end context "jira project" do @@ -122,6 +131,15 @@ describe Banzai::Filter::ExternalIssueReferenceFilter do it_behaves_like "external issue tracker" end + context "with a single-letter prefix" do + let(:issue) { ExternalIssue.new("J-123", project) } + + it "ignores reference" do + exp = act = "Issue #{reference}" + expect(filter(act).to_html).to eq exp + end + end + context "with wrong markdown" do let(:issue) { ExternalIssue.new("#123", project) } -- cgit v1.2.1