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>2020-03-27 15:07:43 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-27 15:07:43 +0300
commit39fa7d1eeb2dba52f0601128f3ac91f57d19866e (patch)
treeda042d34ff762dd1957e51666a34202295a081b9 /lib/gitlab/jira_import
parent6ac4a6713ed3196af899011f7e18658e16ebaac0 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/jira_import')
-rw-r--r--lib/gitlab/jira_import/issue_serializer.rb42
1 files changed, 40 insertions, 2 deletions
diff --git a/lib/gitlab/jira_import/issue_serializer.rb b/lib/gitlab/jira_import/issue_serializer.rb
index f00852a21a2..0be5d22065a 100644
--- a/lib/gitlab/jira_import/issue_serializer.rb
+++ b/lib/gitlab/jira_import/issue_serializer.rb
@@ -3,12 +3,50 @@
module Gitlab
module JiraImport
class IssueSerializer
+ attr_reader :jira_issue, :project, :params, :formatter
+
def initialize(project, jira_issue, params = {})
+ @jira_issue = jira_issue
+ @project = project
+ @params = params
+ @formatter = Gitlab::ImportFormatter.new
end
def execute
- # this is going to be implemented in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27201
- {}
+ {
+ iid: params[:iid],
+ project_id: project.id,
+ description: description,
+ title: title,
+ state_id: map_status(jira_issue.status.statusCategory),
+ updated_at: jira_issue.updated,
+ created_at: jira_issue.created,
+ author_id: project.creator_id # TODO: map actual author: https://gitlab.com/gitlab-org/gitlab/-/issues/210580
+ }
+ end
+
+ private
+
+ def title
+ "[#{jira_issue.key}] #{jira_issue.summary}"
+ end
+
+ def description
+ body = []
+ body << formatter.author_line(jira_issue.reporter.displayName)
+ body << formatter.assignee_line(jira_issue.assignee.displayName) if jira_issue.assignee
+ body << jira_issue.description
+
+ body.join
+ end
+
+ def map_status(jira_status_category)
+ case jira_status_category["key"].downcase
+ when 'done'
+ Issuable::STATE_ID_MAP[:closed]
+ else
+ Issuable::STATE_ID_MAP[:opened]
+ end
end
end
end