Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-26 15:06:18 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-26 15:06:18 +0300
commit6a4ffad42050949fcf08e78147575734ae99627e (patch)
tree723bb2480948ba4ec29ca9ac10f8728dc2a831b6 /app/models/project_services/jira_service.rb
parent23d237110e6a646dec08e1f5b4696d2d9c51cfef (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models/project_services/jira_service.rb')
-rw-r--r--app/models/project_services/jira_service.rb26
1 files changed, 19 insertions, 7 deletions
diff --git a/app/models/project_services/jira_service.rb b/app/models/project_services/jira_service.rb
index ba61810e26f..128cbc6fa82 100644
--- a/app/models/project_services/jira_service.rb
+++ b/app/models/project_services/jira_service.rb
@@ -32,6 +32,10 @@ class JiraService < IssueTrackerService
%w(commit merge_request)
end
+ def self.supported_event_actions
+ %w(comment)
+ end
+
# {PROJECT-KEY}-{NUMBER} Examples: JIRA-1, PROJECT-1
def self.reference_pattern(only_long: true)
@reference_pattern ||= /(?<issue>\b#{Gitlab::Regex.jira_issue_key_regex})/
@@ -268,19 +272,27 @@ class JiraService < IssueTrackerService
return unless client_url.present?
jira_request do
- remote_link = find_remote_link(issue, remote_link_props[:object][:url])
- if remote_link
- remote_link.save!(remote_link_props)
- elsif issue.comments.build.save!(body: message)
- new_remote_link = issue.remotelink.build
- new_remote_link.save!(remote_link_props)
- end
+ create_issue_link(issue, remote_link_props)
+ create_issue_comment(issue, message)
log_info("Successfully posted", client_url: client_url)
"SUCCESS: Successfully posted to #{client_url}."
end
end
+ def create_issue_link(issue, remote_link_props)
+ remote_link = find_remote_link(issue, remote_link_props[:object][:url])
+ remote_link ||= issue.remotelink.build
+
+ remote_link.save!(remote_link_props)
+ end
+
+ def create_issue_comment(issue, message)
+ return unless comment_on_event_enabled
+
+ issue.comments.build.save!(body: message)
+ end
+
def find_remote_link(issue, url)
links = jira_request { issue.remotelink.all }
return unless links