Class: Gitlab::JiraImport::ImportIssueWorker
- Inherits:
-
Object
- Object
- Gitlab::JiraImport::ImportIssueWorker
- Defined in:
- app/workers/gitlab/jira_import/import_issue_worker.rb
Overview
rubocop:disable Scalability/IdempotentWorker
Constant Summary
Constants included from ApplicationWorker
ApplicationWorker::LOGGING_EXTRA_KEY
Constants included from WorkerAttributes
WorkerAttributes::NAMESPACE_WEIGHTS, WorkerAttributes::VALID_RESOURCE_BOUNDARIES, WorkerAttributes::VALID_URGENCIES
Instance Method Summary collapse
Methods included from Import::DatabaseHelpers
Methods included from SidekiqVersioning::Worker
Methods included from WorkerContext
Instance Method Details
#perform(project_id, jira_issue_id, issue_attributes, waiter_key) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/workers/gitlab/jira_import/import_issue_worker.rb', line 13 def perform(project_id, jira_issue_id, issue_attributes, waiter_key) issue_id = create_issue(issue_attributes, project_id) JiraImport.cache_issue_mapping(issue_id, jira_issue_id, project_id) rescue => ex # Todo: Record jira issue id(or better jira issue key), # so that we can report the list of failed to import issues to the user # see https://gitlab.com/gitlab-org/gitlab/-/issues/211653 # # It's possible the project has been deleted since scheduling this # job. In this case we'll just skip creating the issue. Gitlab::ErrorTracking.track_exception(ex, project_id: project_id) JiraImport.increment_issue_failures(project_id) ensure # ensure we notify job waiter that the job has finished JobWaiter.notify(waiter_key, jid) if waiter_key end |