diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-14 18:09:54 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-14 18:09:54 +0000 |
commit | f697dc5e76dfc5894df006d53b2b7e751653cf05 (patch) | |
tree | 1387cd225039e611f3683f96b318bb17d4c422cb /app/services/jira_import | |
parent | 874ead9c3a50de4c4ca4551eaf5b7eb976d26b50 (diff) | |
download | gitlab-ce-f697dc5e76dfc5894df006d53b2b7e751653cf05.tar.gz |
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 | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/services/jira_import/start_import_service.rb b/app/services/jira_import/start_import_service.rb index 6accc3cfffc..e8d9e6734bd 100644 --- a/app/services/jira_import/start_import_service.rb +++ b/app/services/jira_import/start_import_service.rb @@ -33,8 +33,10 @@ module JiraImport end def build_jira_import + label = create_import_label(project) project.jira_imports.build( user: user, + label: label, 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 @@ -43,6 +45,22 @@ module JiraImport ) end + def create_import_label(project) + label = ::Labels::CreateService.new(build_label_attrs(project)).execute(project: project) + raise Projects::ImportService::Error, _('Failed to create import label for jira import.') if label.blank? + + label + end + + def build_label_attrs(project) + import_start_time = Time.zone.now + jira_imports_for_project = project.jira_imports.by_jira_project_key(jira_project_key).size + 1 + title = "jira-import::#{jira_project_key}-#{jira_imports_for_project}" + description = "Label for issues that were imported from jira on #{import_start_time.strftime('%Y-%m-%d %H:%M:%S')}" + color = "#{Label.color_for(title)}" + { title: title, description: description, color: color } + end + def validate return build_error_response(_('Jira import feature is disabled.')) unless project.jira_issues_import_feature_flag_enabled? return build_error_response(_('You do not have permissions to run the import.')) unless user.can?(:admin_project, project) |