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-05-20 17:34:42 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-05-20 17:34:42 +0300
commit9f46488805e86b1bc341ea1620b866016c2ce5ed (patch)
treef9748c7e287041e37d6da49e0a29c9511dc34768 /app/workers/gitlab
parentdfc92d081ea0332d69c8aca2f0e745cb48ae5e6d (diff)
Add latest changes from gitlab-org/gitlab@13-0-stable-ee
Diffstat (limited to 'app/workers/gitlab')
-rw-r--r--app/workers/gitlab/jira_import/import_issue_worker.rb28
1 files changed, 22 insertions, 6 deletions
diff --git a/app/workers/gitlab/jira_import/import_issue_worker.rb b/app/workers/gitlab/jira_import/import_issue_worker.rb
index 7ace0a35fd9..78de5cf1307 100644
--- a/app/workers/gitlab/jira_import/import_issue_worker.rb
+++ b/app/workers/gitlab/jira_import/import_issue_worker.rb
@@ -28,19 +28,35 @@ module Gitlab
private
def create_issue(issue_attributes, project_id)
+ label_ids = issue_attributes.delete('label_ids')
+ assignee_ids = issue_attributes.delete('assignee_ids')
issue_id = insert_and_return_id(issue_attributes, Issue)
- label_issue(project_id, issue_id)
+ label_issue(project_id, issue_id, label_ids)
+ assign_issue(project_id, issue_id, assignee_ids)
issue_id
end
- def label_issue(project_id, issue_id)
- label_id = JiraImport.get_import_label_id(project_id)
- return unless label_id
+ def label_issue(project_id, issue_id, label_ids)
+ label_link_attrs = label_ids.to_a.map do |label_id|
+ build_label_attrs(issue_id, label_id.to_i)
+ end
- label_link_attrs = build_label_attrs(issue_id, label_id.to_i)
- insert_and_return_id(label_link_attrs, LabelLink)
+ import_label_id = JiraImport.get_import_label_id(project_id)
+ return unless import_label_id
+
+ label_link_attrs << build_label_attrs(issue_id, import_label_id.to_i)
+
+ Gitlab::Database.bulk_insert(LabelLink.table_name, label_link_attrs)
+ end
+
+ def assign_issue(project_id, issue_id, assignee_ids)
+ return if assignee_ids.blank?
+
+ assignee_attrs = assignee_ids.map { |user_id| { issue_id: issue_id, user_id: user_id } }
+
+ Gitlab::Database.bulk_insert(IssueAssignee.table_name, assignee_attrs)
end
def build_label_attrs(issue_id, label_id)