Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-06-02 15:08:33 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-06-02 15:08:33 +0300
commit810bd2a662abaa60663ec19bcb55f883d329eb07 (patch)
tree9c0e537d8a23ac4481f13420fd9e0772dc3abf10 /lib/gitlab/jira_import.rb
parent8c826685ecb0058bf6acaf960ecab7897932f2e2 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/jira_import.rb')
-rw-r--r--lib/gitlab/jira_import.rb12
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