diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-21 12:10:07 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-21 12:10:07 +0300 |
commit | 3ab7e70965fd198aafefc5c1a0eaf7b695f6cabc (patch) | |
tree | 593e1a222df77d6da95ece78f24e995fb95f0fee /app | |
parent | 38eb51cae9ad5a9ae87d824026362f323c500cb2 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
24 files changed, 142 insertions, 119 deletions
diff --git a/app/assets/javascripts/boards/stores/actions.js b/app/assets/javascripts/boards/stores/actions.js index d4893f9eca7..65adb56f6d4 100644 --- a/app/assets/javascripts/boards/stores/actions.js +++ b/app/assets/javascripts/boards/stores/actions.js @@ -18,7 +18,9 @@ import createBoardListMutation from 'ee_else_ce/boards/graphql/board_list_create import issueMoveListMutation from 'ee_else_ce/boards/graphql/issue_move_list.mutation.graphql'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import createGqClient, { fetchPolicies } from '~/lib/graphql'; -import { convertObjectPropsToCamelCase, urlParamsToObject } from '~/lib/utils/common_utils'; +import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; +// eslint-disable-next-line import/no-deprecated +import { urlParamsToObject } from '~/lib/utils/url_utility'; import { s__ } from '~/locale'; import { formatBoardLists, @@ -74,6 +76,7 @@ export default { performSearch({ dispatch }) { dispatch( 'setFilters', + // eslint-disable-next-line import/no-deprecated convertObjectPropsToCamelCase(urlParamsToObject(window.location.search)), ); diff --git a/app/assets/javascripts/boards/stores/boards_store.js b/app/assets/javascripts/boards/stores/boards_store.js index 092f81ad279..49c40c7776a 100644 --- a/app/assets/javascripts/boards/stores/boards_store.js +++ b/app/assets/javascripts/boards/stores/boards_store.js @@ -7,13 +7,9 @@ import BoardsStoreEE from 'ee_else_ce/boards/stores/boards_store_ee'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import createDefaultClient from '~/lib/graphql'; import axios from '~/lib/utils/axios_utils'; -import { - urlParamsToObject, - getUrlParamsArray, - parseBoolean, - convertObjectPropsToCamelCase, -} from '~/lib/utils/common_utils'; -import { mergeUrlParams } from '~/lib/utils/url_utility'; +import { parseBoolean, convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; +// eslint-disable-next-line import/no-deprecated +import { mergeUrlParams, urlParamsToObject, getUrlParamsArray } from '~/lib/utils/url_utility'; import { ListType, flashAnimationDuration } from '../constants'; import eventHub from '../eventhub'; import ListAssignee from '../models/assignee'; @@ -601,6 +597,7 @@ const boardsStore = { getListIssues(list, emptyIssues = true) { const data = { + // eslint-disable-next-line import/no-deprecated ...urlParamsToObject(this.filter.path), page: list.page, }; diff --git a/app/assets/javascripts/filtered_search/filtered_search_manager.js b/app/assets/javascripts/filtered_search/filtered_search_manager.js index 707205a6502..bdc83a537d3 100644 --- a/app/assets/javascripts/filtered_search/filtered_search_manager.js +++ b/app/assets/javascripts/filtered_search/filtered_search_manager.js @@ -1,7 +1,7 @@ import { last } from 'lodash'; import recentSearchesStorageKeys from 'ee_else_ce/filtered_search/recent_searches_storage_keys'; import IssuableFilteredSearchTokenKeys from '~/filtered_search/issuable_filtered_search_token_keys'; -import { getParameterByName, getUrlParamsArray } from '~/lib/utils/common_utils'; +import { getParameterByName } from '~/lib/utils/common_utils'; import { ENTER_KEY_CODE, BACKSPACE_KEY_CODE, @@ -12,7 +12,7 @@ import { import { __ } from '~/locale'; import createFlash from '../flash'; import { addClassIfElementExists } from '../lib/utils/dom_utils'; -import { visitUrl } from '../lib/utils/url_utility'; +import { visitUrl, getUrlParamsArray } from '../lib/utils/url_utility'; import FilteredSearchContainer from './container'; import DropdownUtils from './dropdown_utils'; import eventHub from './event_hub'; diff --git a/app/assets/javascripts/flash.js b/app/assets/javascripts/flash.js index 2edb6e79d3b..46fbe5170b9 100644 --- a/app/assets/javascripts/flash.js +++ b/app/assets/javascripts/flash.js @@ -125,34 +125,8 @@ const createFlash = function createFlash({ return flashContainer; }; -/* - * Flash banner supports different types of Flash configurations - * along with ability to provide actionConfig which can be used to show - * additional action or link on banner next to message - * - * @param {String} message Flash message text - * @param {String} type Type of Flash, it can be `notice`, `success`, `warning` or `alert` (default) - * @param {Object} parent Reference to parent element under which Flash needs to appear - * @param {Object} actionConfig Map of config to show action on banner - * @param {String} href URL to which action config should point to (default: '#') - * @param {String} title Title of action - * @param {Function} clickHandler Method to call when action is clicked on - * @param {Boolean} fadeTransition Boolean to determine whether to fade the alert out - */ -const deprecatedCreateFlash = function deprecatedCreateFlash( - message, - type, - parent, - actionConfig, - fadeTransition, - addBodyClass, -) { - return createFlash({ message, type, parent, actionConfig, fadeTransition, addBodyClass }); -}; - export { createFlash as default, - deprecatedCreateFlash, createFlashEl, createAction, hideFlash, diff --git a/app/assets/javascripts/issues_list/components/issuables_list_app.vue b/app/assets/javascripts/issues_list/components/issuables_list_app.vue index bd0f5463b0b..673507ce9f7 100644 --- a/app/assets/javascripts/issues_list/components/issuables_list_app.vue +++ b/app/assets/javascripts/issues_list/components/issuables_list_app.vue @@ -8,13 +8,9 @@ import { import { toNumber, omit } from 'lodash'; import createFlash from '~/flash'; import axios from '~/lib/utils/axios_utils'; -import { - scrollToElement, - urlParamsToObject, - historyPushState, - getParameterByName, -} from '~/lib/utils/common_utils'; -import { setUrlParams } from '~/lib/utils/url_utility'; +import { scrollToElement, historyPushState, getParameterByName } from '~/lib/utils/common_utils'; +// eslint-disable-next-line import/no-deprecated +import { setUrlParams, urlParamsToObject } from '~/lib/utils/url_utility'; import { __ } from '~/locale'; import initManualOrdering from '~/manual_ordering'; import FilteredSearchBar from '~/vue_shared/components/filtered_search_bar/filtered_search_bar_root.vue'; @@ -271,6 +267,7 @@ export default { }); }, getQueryObject() { + // eslint-disable-next-line import/no-deprecated return urlParamsToObject(window.location.search); }, onPaginate(newPage) { diff --git a/app/assets/javascripts/lib/utils/common_utils.js b/app/assets/javascripts/lib/utils/common_utils.js index ebdfd09e2d7..3080a6b282a 100644 --- a/app/assets/javascripts/lib/utils/common_utils.js +++ b/app/assets/javascripts/lib/utils/common_utils.js @@ -162,53 +162,6 @@ export const parseUrlPathname = (url) => { return parsedUrl.pathname.charAt(0) === '/' ? parsedUrl.pathname : `/${parsedUrl.pathname}`; }; -const splitPath = (path = '') => path.replace(/^\?/, '').split('&'); - -export const urlParamsToArray = (path = '') => - splitPath(path) - .filter((param) => param.length > 0) - .map((param) => { - const split = param.split('='); - return [decodeURI(split[0]), split[1]].join('='); - }); - -export const getUrlParamsArray = () => urlParamsToArray(window.location.search); - -/** - * Accepts encoding string which includes query params being - * sent to URL. - * - * @param {string} path Query param string - * - * @returns {object} Query params object containing key-value pairs - * with both key and values decoded into plain string. - */ -export const urlParamsToObject = (path = '') => - splitPath(path).reduce((dataParam, filterParam) => { - if (filterParam === '') { - return dataParam; - } - - const data = dataParam; - let [key, value] = filterParam.split('='); - key = /%\w+/g.test(key) ? decodeURIComponent(key) : key; - const isArray = key.includes('[]'); - key = key.replace('[]', ''); - value = decodeURIComponent(value.replace(/\+/g, ' ')); - - if (isArray) { - if (!data[key]) { - data[key] = []; - } - - data[key].push(value); - } else { - data[key] = value; - } - - return data; - }, {}); - export const isMetaKey = (e) => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey; // Identify following special clicks diff --git a/app/assets/javascripts/lib/utils/url_utility.js b/app/assets/javascripts/lib/utils/url_utility.js index 48abc072675..a4b3e51b944 100644 --- a/app/assets/javascripts/lib/utils/url_utility.js +++ b/app/assets/javascripts/lib/utils/url_utility.js @@ -409,6 +409,55 @@ export function getWebSocketUrl(path) { return `${getWebSocketProtocol()}//${joinPaths(window.location.host, path)}`; } +const splitPath = (path = '') => path.replace(/^\?/, '').split('&'); + +export const urlParamsToArray = (path = '') => + splitPath(path) + .filter((param) => param.length > 0) + .map((param) => { + const split = param.split('='); + return [decodeURI(split[0]), split[1]].join('='); + }); + +export const getUrlParamsArray = () => urlParamsToArray(window.location.search); + +/** + * Accepts encoding string which includes query params being + * sent to URL. + * + * @param {string} path Query param string + * + * @returns {object} Query params object containing key-value pairs + * with both key and values decoded into plain string. + * + * @deprecated Please use `queryToObject(query, { gatherArrays: true });` instead. See https://gitlab.com/gitlab-org/gitlab/-/issues/328845 + */ +export const urlParamsToObject = (path = '') => + splitPath(path).reduce((dataParam, filterParam) => { + if (filterParam === '') { + return dataParam; + } + + const data = dataParam; + let [key, value] = filterParam.split('='); + key = /%\w+/g.test(key) ? decodeURIComponent(key) : key; + const isArray = key.includes('[]'); + key = key.replace('[]', ''); + value = decodeURIComponent(value.replace(/\+/g, ' ')); + + if (isArray) { + if (!data[key]) { + data[key] = []; + } + + data[key].push(value); + } else { + data[key] = value; + } + + return data; + }, {}); + /** * Convert search query into an object * diff --git a/app/assets/javascripts/members/components/filter_sort/members_filtered_search_bar.vue b/app/assets/javascripts/members/components/filter_sort/members_filtered_search_bar.vue index cc0533391df..f20cd463cbd 100644 --- a/app/assets/javascripts/members/components/filter_sort/members_filtered_search_bar.vue +++ b/app/assets/javascripts/members/components/filter_sort/members_filtered_search_bar.vue @@ -1,8 +1,9 @@ <script> import { GlFilteredSearchToken } from '@gitlab/ui'; import { mapState } from 'vuex'; -import { getParameterByName, urlParamsToObject } from '~/lib/utils/common_utils'; -import { setUrlParams } from '~/lib/utils/url_utility'; +import { getParameterByName } from '~/lib/utils/common_utils'; +// eslint-disable-next-line import/no-deprecated +import { setUrlParams, urlParamsToObject } from '~/lib/utils/url_utility'; import { s__ } from '~/locale'; import { SEARCH_TOKEN_TYPE, SORT_PARAM } from '~/members/constants'; import { OPERATOR_IS_ONLY } from '~/vue_shared/components/filtered_search_bar/constants'; @@ -64,6 +65,7 @@ export default { }, }, created() { + // eslint-disable-next-line import/no-deprecated const query = urlParamsToObject(window.location.search); const tokens = this.tokens diff --git a/app/assets/javascripts/members/components/members_tabs.vue b/app/assets/javascripts/members/components/members_tabs.vue index 37b9135126d..84843aac936 100644 --- a/app/assets/javascripts/members/components/members_tabs.vue +++ b/app/assets/javascripts/members/components/members_tabs.vue @@ -1,7 +1,8 @@ <script> import { GlTabs, GlTab, GlBadge } from '@gitlab/ui'; import { mapState } from 'vuex'; -import { urlParamsToObject } from '~/lib/utils/common_utils'; +// eslint-disable-next-line import/no-deprecated +import { urlParamsToObject } from '~/lib/utils/url_utility'; import { __ } from '~/locale'; import { MEMBER_TYPES } from '../constants'; import MembersApp from './app.vue'; @@ -55,6 +56,7 @@ export default { }, }), urlParams() { + // eslint-disable-next-line import/no-deprecated return Object.keys(urlParamsToObject(window.location.search)); }, activeTabIndexCalculatedFromUrlParams() { diff --git a/app/assets/javascripts/projects/commits/components/author_select.vue b/app/assets/javascripts/projects/commits/components/author_select.vue index 1566232751d..c862faf9d3c 100644 --- a/app/assets/javascripts/projects/commits/components/author_select.vue +++ b/app/assets/javascripts/projects/commits/components/author_select.vue @@ -9,8 +9,8 @@ import { } from '@gitlab/ui'; import { debounce } from 'lodash'; import { mapState, mapActions } from 'vuex'; -import { urlParamsToObject } from '~/lib/utils/common_utils'; -import { redirectTo } from '~/lib/utils/url_utility'; +// eslint-disable-next-line import/no-deprecated +import { redirectTo, urlParamsToObject } from '~/lib/utils/url_utility'; import { __ } from '~/locale'; const tooltipMessage = __('Searching by both author and message is currently not supported.'); @@ -52,6 +52,7 @@ export default { }, mounted() { this.fetchAuthors(); + // eslint-disable-next-line import/no-deprecated const params = urlParamsToObject(window.location.search); const { search: searchParam, author: authorParam } = params; const commitsSearchInput = this.projectCommitsEl.querySelector('#commits-search'); diff --git a/app/models/integrations/pivotaltracker.rb b/app/models/integrations/pivotaltracker.rb index 46f97cc3c6b..24cfd51eb55 100644 --- a/app/models/integrations/pivotaltracker.rb +++ b/app/models/integrations/pivotaltracker.rb @@ -2,17 +2,23 @@ module Integrations class Pivotaltracker < Integration + include ActionView::Helpers::UrlHelper API_ENDPOINT = 'https://www.pivotaltracker.com/services/v5/source_commits' prop_accessor :token, :restrict_to_branch validates :token, presence: true, if: :activated? def title - 'PivotalTracker' + 'Pivotal Tracker' end def description - s_('PivotalTrackerService|Add commit messages as comments to PivotalTracker stories.') + s_('PivotalTrackerService|Add commit messages as comments to Pivotal Tracker stories.') + end + + def help + docs_link = link_to _('Learn more.'), Rails.application.routes.url_helpers.help_page_url('user/project/integrations/pivotal_tracker'), target: '_blank', rel: 'noopener noreferrer' + s_('Add commit messages as comments to Pivotal Tracker stories. %{docs_link}').html_safe % { docs_link: docs_link.html_safe } end def self.to_param @@ -24,14 +30,15 @@ module Integrations { type: 'text', name: 'token', - placeholder: s_('PivotalTrackerService|Pivotal Tracker API token.'), + help: s_('PivotalTrackerService|Pivotal Tracker API token. User must have access to the story. All comments are attributed to this user.'), required: true }, { type: 'text', name: 'restrict_to_branch', - placeholder: s_('PivotalTrackerService|Comma-separated list of branches which will be ' \ - 'automatically inspected. Leave blank to include all branches.') + title: 'Restrict to branch (optional)', + help: s_('PivotalTrackerService|Comma-separated list of branches to ' \ + 'automatically inspect. Leave blank to include all branches.') } ] end diff --git a/app/models/member.rb b/app/models/member.rb index 0636c3c2d4e..70041578681 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -156,7 +156,7 @@ class Member < ApplicationRecord distinct_members = select('DISTINCT ON (user_id, invite_email) *') .order('user_id, invite_email, access_level DESC, expires_at DESC, created_at ASC') - from(distinct_members, :members) + unscoped.from(distinct_members, :members) end scope :order_name_asc, -> { left_join_users.reorder(Gitlab::Database.nulls_last_order('users.name', 'ASC')) } diff --git a/app/views/projects/protected_branches/shared/_index.html.haml b/app/views/projects/protected_branches/shared/_index.html.haml index 08246a173d8..2e9a9357fb0 100644 --- a/app/views/projects/protected_branches/shared/_index.html.haml +++ b/app/views/projects/protected_branches/shared/_index.html.haml @@ -3,19 +3,16 @@ %section.settings.no-animate#js-protected-branches-settings{ class: ('expanded' if expanded), data: { qa_selector: 'protected_branches_settings_content' } } .settings-header %h4.settings-title.js-settings-toggle.js-settings-toggle-trigger-only - Protected branches + = s_("ProtectedBranch|Protected branches") %button.btn.gl-button.btn-default.js-settings-toggle.qa-expand-protected-branches{ type: 'button' } = expanded ? 'Collapse' : 'Expand' %p - Keep stable branches secure, and force developers to use merge requests. #{link_to "What are protected branches?", help_page_path("user/project/protected_branches")} + = s_("ProtectedBranch|Keep stable branches secure and force developers to use merge requests.") + = link_to s_("ProtectedBranch|What are protected branches?"), help_page_path("user/project/protected_branches") .settings-content %p - By default, protected branches protect your code and: - %ul - %li Allow only users with Maintainer #{link_to "permissions", help_page_path("user/permissions")} to create new protected branches. - %li Allow only users with Maintainer permissions to push code. - %li Prevent <strong>anyone</strong> from #{link_to "force-pushing", help_page_path('topics/git/git_rebase', anchor: 'force-push')} to the branch. - %li Prevent <strong>anyone</strong> from deleting the branch. + = s_("ProtectedBranch|By default, protected branches restrict who can modify the branch.") + = link_to s_("ProtectedBranch|Learn more."), help_page_path("user/project/protected_branches", anchor: "who-can-modify-a-protected-branch") - if can? current_user, :admin_project, @project = content_for :create_protected_branch diff --git a/app/views/projects/protected_tags/shared/_index.html.haml b/app/views/projects/protected_tags/shared/_index.html.haml index aab4d366605..fe63f921780 100644 --- a/app/views/projects/protected_tags/shared/_index.html.haml +++ b/app/views/projects/protected_tags/shared/_index.html.haml @@ -3,18 +3,16 @@ %section.settings.no-animate#js-protected-tags-settings{ class: ('expanded' if expanded), data: { qa_selector: 'protected_tag_settings_content' } } .settings-header %h4.settings-title.js-settings-toggle.js-settings-toggle-trigger-only - Protected tags + = s_("ProtectedTag|Protected tags") %button.btn.gl-button.btn-default.js-settings-toggle{ type: 'button' } = expanded ? 'Collapse' : 'Expand' %p - Limit access to creating and updating tags. #{link_to "What are protected tags?", help_page_path("user/project/protected_tags")} + = s_("ProtectedTag|Limit access to creating and updating tags.") + = link_to s_("ProtectedTag|What are protected tags?"), help_page_path("user/project/protected_tags") .settings-content %p - By default, protected tags protect your code and: - %ul - %li Allow only users with Maintainer #{link_to "permissions", help_page_path("user/permissions")} to create tags. - %li Prevent <strong>anyone</strong> from updating tags. - %li Prevent <strong>anyone</strong> from deleting tags. + = s_("ProtectedTag|By default, protected branches restrict who can modify the tag.") + = link_to s_("ProtectedTag|Learn more."), help_page_path("user/project/protected_tags", anchor: "who-can-modify-a-protected-tag") - if can? current_user, :admin_project, @project = yield :create_protected_tag diff --git a/app/workers/concerns/gitlab/github_import/object_importer.rb b/app/workers/concerns/gitlab/github_import/object_importer.rb index 6ebf7c7c263..ab333d020fb 100644 --- a/app/workers/concerns/gitlab/github_import/object_importer.rb +++ b/app/workers/concerns/gitlab/github_import/object_importer.rb @@ -36,16 +36,29 @@ module Gitlab importer_class.new(object, project, client).execute - counter.increment + increment_counters(project) + info(project.id, message: 'importer finished') rescue StandardError => e error(project.id, e, hash) end + # Counters incremented: + # - global (prometheus): for metrics in Grafana + # - project (redis): used in FinishImportWorker to report number of objects imported + def increment_counters(project) + counter.increment + Gitlab::GithubImport::ObjectCounter.increment(project, object_type, :imported) + end + def counter @counter ||= Gitlab::Metrics.counter(counter_name, counter_description) end + def object_type + raise NotImplementedError + end + # Returns the representation class to use for the object. This class must # define the class method `from_json_hash`. def representation_class diff --git a/app/workers/concerns/worker_attributes.rb b/app/workers/concerns/worker_attributes.rb index 096be808787..806fce38636 100644 --- a/app/workers/concerns/worker_attributes.rb +++ b/app/workers/concerns/worker_attributes.rb @@ -12,6 +12,7 @@ module WorkerAttributes VALID_URGENCIES = [:high, :low, :throttled].freeze VALID_DATA_CONSISTENCIES = [:always, :sticky, :delayed].freeze + DEFAULT_DATA_CONSISTENCY = :always NAMESPACE_WEIGHTS = { auto_devops: 2, @@ -110,7 +111,7 @@ module WorkerAttributes end def get_data_consistency - class_attributes[:data_consistency] || :always + class_attributes[:data_consistency] || DEFAULT_DATA_CONSISTENCY end def get_data_consistency_feature_flag_enabled? diff --git a/app/workers/gitlab/github_import/import_diff_note_worker.rb b/app/workers/gitlab/github_import/import_diff_note_worker.rb index 25fb0375692..5ee5fcaacd6 100644 --- a/app/workers/gitlab/github_import/import_diff_note_worker.rb +++ b/app/workers/gitlab/github_import/import_diff_note_worker.rb @@ -13,6 +13,10 @@ module Gitlab Importer::DiffNoteImporter end + def object_type + :diff_note + end + def counter_name :github_importer_imported_diff_notes end diff --git a/app/workers/gitlab/github_import/import_issue_worker.rb b/app/workers/gitlab/github_import/import_issue_worker.rb index d9c496e3eb3..a3921e86c84 100644 --- a/app/workers/gitlab/github_import/import_issue_worker.rb +++ b/app/workers/gitlab/github_import/import_issue_worker.rb @@ -13,6 +13,10 @@ module Gitlab Importer::IssueAndLabelLinksImporter end + def object_type + :issue + end + def counter_name :github_importer_imported_issues end diff --git a/app/workers/gitlab/github_import/import_lfs_object_worker.rb b/app/workers/gitlab/github_import/import_lfs_object_worker.rb index 78f78fdb160..ea755fc9a37 100644 --- a/app/workers/gitlab/github_import/import_lfs_object_worker.rb +++ b/app/workers/gitlab/github_import/import_lfs_object_worker.rb @@ -13,6 +13,10 @@ module Gitlab Importer::LfsObjectImporter end + def object_type + :lfs_object + end + def counter_name :github_importer_imported_lfs_objects end diff --git a/app/workers/gitlab/github_import/import_note_worker.rb b/app/workers/gitlab/github_import/import_note_worker.rb index d0f97a15afd..d612e0b2e5b 100644 --- a/app/workers/gitlab/github_import/import_note_worker.rb +++ b/app/workers/gitlab/github_import/import_note_worker.rb @@ -13,6 +13,10 @@ module Gitlab Importer::NoteImporter end + def object_type + :note + end + def counter_name :github_importer_imported_notes end diff --git a/app/workers/gitlab/github_import/import_pull_request_merged_by_worker.rb b/app/workers/gitlab/github_import/import_pull_request_merged_by_worker.rb index a8b79cf9b3a..2db404cca5d 100644 --- a/app/workers/gitlab/github_import/import_pull_request_merged_by_worker.rb +++ b/app/workers/gitlab/github_import/import_pull_request_merged_by_worker.rb @@ -15,6 +15,10 @@ module Gitlab Importer::PullRequestMergedByImporter end + def object_type + :pull_request_merged_by + end + def counter_name :github_importer_imported_pull_requests_merged_by end diff --git a/app/workers/gitlab/github_import/import_pull_request_review_worker.rb b/app/workers/gitlab/github_import/import_pull_request_review_worker.rb index 5ee88d5d32b..7ea867ddb39 100644 --- a/app/workers/gitlab/github_import/import_pull_request_review_worker.rb +++ b/app/workers/gitlab/github_import/import_pull_request_review_worker.rb @@ -15,6 +15,10 @@ module Gitlab Importer::PullRequestReviewImporter end + def object_type + :pull_request_review + end + def counter_name :github_importer_imported_pull_request_reviews end diff --git a/app/workers/gitlab/github_import/import_pull_request_worker.rb b/app/workers/gitlab/github_import/import_pull_request_worker.rb index 9560874f247..f1d01adb736 100644 --- a/app/workers/gitlab/github_import/import_pull_request_worker.rb +++ b/app/workers/gitlab/github_import/import_pull_request_worker.rb @@ -13,6 +13,10 @@ module Gitlab Importer::PullRequestImporter end + def object_type + :pull_request + end + def counter_name :github_importer_imported_pull_requests end diff --git a/app/workers/gitlab/github_import/stage/finish_import_worker.rb b/app/workers/gitlab/github_import/stage/finish_import_worker.rb index f5980cc248e..f909d7e2f34 100644 --- a/app/workers/gitlab/github_import/stage/finish_import_worker.rb +++ b/app/workers/gitlab/github_import/stage/finish_import_worker.rb @@ -29,7 +29,8 @@ module Gitlab info( project.id, message: "GitHub project import finished", - duration_s: duration.round(2) + duration_s: duration.round(2), + object_counts: ::Gitlab::GithubImport::ObjectCounter.summary(project) ) end |