4be65c3231
The pattern in the `::reference_pattern` class method in the ExternalIssue model does not match all valid forms of JIRA project names. I have updated the regex to match JIRA project names with numbers and underscores. More information on valid JIRA project names can be found here: https://confluence.atlassian.com/jira/changing-the-project-key-format-192534.html * The first character must be a letter, * All letters used in the project key must be from the Modern Roman Alphabet and upper case, and * Only letters, numbers or the underscore character can be used.
40 lines
642 B
Ruby
40 lines
642 B
Ruby
class ExternalIssue
|
|
include Referable
|
|
|
|
def initialize(issue_identifier, project)
|
|
@issue_identifier, @project = issue_identifier, project
|
|
end
|
|
|
|
def to_s
|
|
@issue_identifier.to_s
|
|
end
|
|
|
|
def id
|
|
@issue_identifier.to_s
|
|
end
|
|
|
|
def iid
|
|
@issue_identifier.to_s
|
|
end
|
|
|
|
def title
|
|
"External Issue #{self}"
|
|
end
|
|
|
|
def ==(other)
|
|
other.is_a?(self.class) && (to_s == other.to_s)
|
|
end
|
|
|
|
def project
|
|
@project
|
|
end
|
|
|
|
# Pattern used to extract `JIRA-123` issue references from text
|
|
def self.reference_pattern
|
|
%r{(?<issue>\b([A-Z][A-Z0-9_]+-)\d+)}
|
|
end
|
|
|
|
def to_reference(_from_project = nil)
|
|
id
|
|
end
|
|
end
|