summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Van Landuyt <bob@vanlanduyt.co>2018-03-06 15:44:19 +0100
committerBob Van Landuyt <bob@vanlanduyt.co>2018-03-06 16:12:34 +0100
commit944324f395897ccda7834a414a0b7e6ef3f0b1a3 (patch)
tree60eb405ccd82439ccaee718769778631c8651cd7
parentb393df7e9125714f047c8b769c98b600ab0aef35 (diff)
downloadgitlab-ce-bvl-github-import-assignee-errors.tar.gz
Ignore duplicates when importing issue assignees.bvl-github-import-assignee-errors
-rw-r--r--changelogs/unreleased/bvl-github-import-assignee-errors.yml5
-rw-r--r--lib/gitlab/github_import/importer/issue_importer.rb2
-rw-r--r--spec/lib/gitlab/github_import/importer/issue_importer_spec.rb7
3 files changed, 10 insertions, 4 deletions
diff --git a/changelogs/unreleased/bvl-github-import-assignee-errors.yml b/changelogs/unreleased/bvl-github-import-assignee-errors.yml
new file mode 100644
index 00000000000..37ed26c51bb
--- /dev/null
+++ b/changelogs/unreleased/bvl-github-import-assignee-errors.yml
@@ -0,0 +1,5 @@
+---
+title: Fix errors when importing GitHub issues with multiple assignees
+merge_request: 17568
+author:
+type: fixed
diff --git a/lib/gitlab/github_import/importer/issue_importer.rb b/lib/gitlab/github_import/importer/issue_importer.rb
index 31fefebf787..9cbda2d169c 100644
--- a/lib/gitlab/github_import/importer/issue_importer.rb
+++ b/lib/gitlab/github_import/importer/issue_importer.rb
@@ -73,7 +73,7 @@ module Gitlab
end
end
- Gitlab::Database.bulk_insert(IssueAssignee.table_name, assignees)
+ Gitlab::Database.bulk_insert(IssueAssignee.table_name, assignees, ignore_duplicates: true)
end
end
end
diff --git a/spec/lib/gitlab/github_import/importer/issue_importer_spec.rb b/spec/lib/gitlab/github_import/importer/issue_importer_spec.rb
index d34ca0b76b8..8e7000df0d7 100644
--- a/spec/lib/gitlab/github_import/importer/issue_importer_spec.rb
+++ b/spec/lib/gitlab/github_import/importer/issue_importer_spec.rb
@@ -180,19 +180,20 @@ describe Gitlab::GithubImport::Importer::IssueImporter, :clean_gitlab_redis_cach
allow(importer.user_finder)
.to receive(:user_id_for)
- .ordered.with(issue.assignees[0])
+ .with(issue.assignees[0])
.and_return(4)
allow(importer.user_finder)
.to receive(:user_id_for)
- .ordered.with(issue.assignees[1])
+ .with(issue.assignees[1])
.and_return(5)
expect(Gitlab::Database)
.to receive(:bulk_insert)
.with(
IssueAssignee.table_name,
- [{ issue_id: 1, user_id: 4 }, { issue_id: 1, user_id: 5 }]
+ [{ issue_id: 1, user_id: 4 }, { issue_id: 1, user_id: 5 }],
+ ignore_duplicates: true
)
importer.create_assignees(1)