diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 15:26:25 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 15:26:25 +0300 |
commit | a09983ae35713f5a2bbb100981116d31ce99826e (patch) | |
tree | 2ee2af7bd104d57086db360a7e6d8c9d5d43667a /lib/gitlab/jira_import | |
parent | 18c5ab32b738c0b6ecb4d0df3994000482f34bd8 (diff) |
Add latest changes from gitlab-org/gitlab@13-2-stable-ee
Diffstat (limited to 'lib/gitlab/jira_import')
-rw-r--r-- | lib/gitlab/jira_import/issue_serializer.rb | 4 | ||||
-rw-r--r-- | lib/gitlab/jira_import/user_mapper.rb | 53 |
2 files changed, 3 insertions, 54 deletions
diff --git a/lib/gitlab/jira_import/issue_serializer.rb b/lib/gitlab/jira_import/issue_serializer.rb index df57680073e..43280606bb6 100644 --- a/lib/gitlab/jira_import/issue_serializer.rb +++ b/lib/gitlab/jira_import/issue_serializer.rb @@ -52,7 +52,9 @@ module Gitlab end def map_user_id(jira_user) - Gitlab::JiraImport::UserMapper.new(project, jira_user).execute&.id + return unless jira_user&.dig('accountId') + + Gitlab::JiraImport.get_user_mapping(project.id, jira_user['accountId']) end def reporter diff --git a/lib/gitlab/jira_import/user_mapper.rb b/lib/gitlab/jira_import/user_mapper.rb deleted file mode 100644 index 208ee49b724..00000000000 --- a/lib/gitlab/jira_import/user_mapper.rb +++ /dev/null @@ -1,53 +0,0 @@ -# frozen_string_literal: true - -module Gitlab - module JiraImport - class UserMapper - include ::Gitlab::Utils::StrongMemoize - - def initialize(project, jira_user) - @project = project - @jira_user = jira_user - end - - def execute - return unless jira_user - - email = jira_user['emailAddress'] - - # We also include emails that are not yet confirmed - users = User.by_any_email(email).to_a - - user = users.first - - # this event should never happen but we should log it in case we have invalid data - log_user_mapping_message('Multiple users found for an email address', email) if users.count > 1 - - unless project.project_member(user) || project.group&.group_member(user) - log_user_mapping_message('Jira user not found', email) - - return - end - - user - end - - private - - attr_reader :project, :jira_user, :params - - def log_user_mapping_message(message, email) - logger.info( - project_id: project.id, - project_path: project.full_path, - user_email: email, - message: message - ) - end - - def logger - @logger ||= Gitlab::Import::Logger.build - end - end - end -end |