diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-09 15:09:24 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-09 15:09:24 +0300 |
commit | a9ced7da447785c57477b3d8dbccc73a78cface1 (patch) | |
tree | 5179d27ab9d801748ee4ed1c64c985974e799812 /app/services/jira_import | |
parent | ad0265eead72a624ce7a020847db4f0f0c877e57 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services/jira_import')
-rw-r--r-- | app/services/jira_import/start_import_service.rb | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/app/services/jira_import/start_import_service.rb b/app/services/jira_import/start_import_service.rb index 91a7956e585..fbbd2d883f0 100644 --- a/app/services/jira_import/start_import_service.rb +++ b/app/services/jira_import/start_import_service.rb @@ -20,23 +20,27 @@ module JiraImport private def create_and_schedule_import - import_data = project.create_or_update_import_data(data: {}).becomes(JiraImportData) - jira_project_details = JiraImportData::JiraProjectDetails.new( - jira_project_key, - Time.now.strftime('%Y-%m-%d %H:%M:%S'), - { user_id: user.id, name: user.name } - ) - import_data << jira_project_details - import_data.force_import! - + jira_import = build_jira_import project.import_type = 'jira' - project.import_state.schedule if project.save! + project.save! && jira_import.schedule! - ServiceResponse.success(payload: { import_data: import_data } ) + ServiceResponse.success(payload: { import_data: jira_import } ) rescue => ex # in case project.save! raises an erorr Gitlab::ErrorTracking.track_exception(ex, project_id: project.id) build_error_response(ex.message) + jira_import.do_fail! + end + + def build_jira_import + project.jira_imports.build( + user: user, + jira_project_key: jira_project_key, + # we do not have the jira_project_name or jira_project_xid yet so just set a mock value, + # we will once https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28190 + jira_project_name: jira_project_key, + jira_project_xid: 0 + ) end def validate @@ -48,18 +52,11 @@ module JiraImport end def build_error_response(message) - import_data = JiraImportData.new(project: project) - import_data.errors.add(:base, message) - ServiceResponse.error( - message: import_data.errors.full_messages.to_sentence, - http_status: 400, - payload: { import_data: import_data } - ) + ServiceResponse.error(message: message, http_status: 400) end def import_in_progress? - import_state = project.import_state || project.create_import_state - import_state.in_progress? + project.latest_jira_import&.in_progress? end end end |