Module: Gitlab::BitbucketImport::StageMethods

Instance Method Summary collapse

Instance Method Details

#abort_on_failureObject



62
63
64
# File 'app/workers/concerns/gitlab/bitbucket_import/stage_methods.rb', line 62

def abort_on_failure
  false
end

#find_project(id) ⇒ Object



54
55
56
57
58
59
60
# File 'app/workers/concerns/gitlab/bitbucket_import/stage_methods.rb', line 54

def find_project(id)
  # If the project has been marked as failed we want to bail out
  # automatically.
  # rubocop: disable CodeReuse/ActiveRecord
  Project.joins_import_state.where(import_state: { status: :started }).find_by_id(id)
  # rubocop: enable CodeReuse/ActiveRecord
end

#perform(project_id) ⇒ Object

project_id - The ID of the GitLab project to import the data into.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'app/workers/concerns/gitlab/bitbucket_import/stage_methods.rb', line 31

def perform(project_id)
  info(project_id, message: 'starting stage')

  project = find_project(project_id)

  return unless project

  Import::RefreshImportJidWorker.perform_in_the_future(project_id, jid)

  import(project)

  info(project_id, message: 'stage finished')
rescue StandardError => e
  Gitlab::Import::ImportFailureService.track(
    project_id: project_id,
    exception: e,
    error_source: self.class.name,
    fail_import: abort_on_failure
  )

  raise(e)
end