diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-02 15:08:33 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-02 15:08:33 +0300 |
commit | 810bd2a662abaa60663ec19bcb55f883d329eb07 (patch) | |
tree | 9c0e537d8a23ac4481f13420fd9e0772dc3abf10 /lib/gitlab/jira_import.rb | |
parent | 8c826685ecb0058bf6acaf960ecab7897932f2e2 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/jira_import.rb')
-rw-r--r-- | lib/gitlab/jira_import.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/gitlab/jira_import.rb b/lib/gitlab/jira_import.rb index 3f56094956a..f7373a65f88 100644 --- a/lib/gitlab/jira_import.rb +++ b/lib/gitlab/jira_import.rb @@ -10,6 +10,18 @@ module Gitlab ITEMS_MAPPER_CACHE_KEY = 'jira-import/items-mapper/%{project_id}/%{collection_type}/%{jira_isssue_id}' ALREADY_IMPORTED_ITEMS_CACHE_KEY = 'jira-importer/already-imported/%{project}/%{collection_type}' + def self.validate_project_settings!(project, user: nil) + if user + raise Projects::ImportService::Error, _('Cannot import because issues are not available in this project.') unless project.feature_available?(:issues, user) + raise Projects::ImportService::Error, _('You do not have permissions to run the import.') unless user.can?(:admin_project, project) + end + + jira_service = project.jira_service + + raise Projects::ImportService::Error, _('Jira integration not configured.') unless jira_service&.active? + raise Projects::ImportService::Error, _('Unable to connect to the Jira instance. Please check your Jira integration configuration.') unless jira_service.test(nil)[:success] + end + def self.jira_issue_cache_key(project_id, jira_issue_id) ITEMS_MAPPER_CACHE_KEY % { project_id: project_id, collection_type: :issues, jira_isssue_id: jira_issue_id } end |