diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/error_tracking/components/error_details.vue | 8 | ||||
-rw-r--r-- | app/assets/javascripts/error_tracking/components/error_details_info.vue | 2 | ||||
-rw-r--r-- | app/assets/javascripts/error_tracking/components/error_tracking_list.vue | 16 | ||||
-rw-r--r-- | app/assets/javascripts/error_tracking/events_tracking.js (renamed from app/assets/javascripts/error_tracking/utils.js) | 24 | ||||
-rw-r--r-- | app/assets/javascripts/import/details/components/import_details_table.vue | 8 | ||||
-rw-r--r-- | app/models/ci/build_trace.rb | 6 |
6 files changed, 51 insertions, 13 deletions
diff --git a/app/assets/javascripts/error_tracking/components/error_details.vue b/app/assets/javascripts/error_tracking/components/error_details.vue index 0a661d51576..ccadf940fe3 100644 --- a/app/assets/javascripts/error_tracking/components/error_details.vue +++ b/app/assets/javascripts/error_tracking/components/error_details.vue @@ -17,7 +17,11 @@ import Tracking from '~/tracking'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate/tooltip_on_truncate.vue'; import query from '../queries/details.query.graphql'; -import { trackErrorDetailsViewsOptions, trackErrorStatusUpdateOptions } from '../utils'; +import { + trackErrorDetailsViewsOptions, + trackErrorStatusUpdateOptions, + trackCreateIssueFromError, +} from '../events_tracking'; import { severityLevel, severityLevelVariant, errorStatus } from '../constants'; import Stacktrace from './stacktrace.vue'; import ErrorDetailsInfo from './error_details_info.vue'; @@ -184,6 +188,8 @@ export default { ]), createIssue() { this.issueCreationInProgress = true; + const { category, action } = trackCreateIssueFromError; + Tracking.event(category, action); this.$refs.sentryIssueForm.submit(); }, onIgnoreStatusUpdate() { diff --git a/app/assets/javascripts/error_tracking/components/error_details_info.vue b/app/assets/javascripts/error_tracking/components/error_details_info.vue index bbc7b0de7cf..f6f39f178fb 100644 --- a/app/assets/javascripts/error_tracking/components/error_details_info.vue +++ b/app/assets/javascripts/error_tracking/components/error_details_info.vue @@ -2,7 +2,7 @@ import { GlLink, GlIcon, GlCard, GlTooltipDirective } from '@gitlab/ui'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; import TrackEventDirective from '~/vue_shared/directives/track_event'; -import { trackClickErrorLinkToSentryOptions } from '../utils'; +import { trackClickErrorLinkToSentryOptions } from '../events_tracking'; const CARD_CLASS = 'gl-mr-7 gl-w-15p gl-min-w-fit-content'; const HEADER_CLASS = diff --git a/app/assets/javascripts/error_tracking/components/error_tracking_list.vue b/app/assets/javascripts/error_tracking/components/error_tracking_list.vue index 2a4bb88b6c2..6750f0f5411 100644 --- a/app/assets/javascripts/error_tracking/components/error_tracking_list.vue +++ b/app/assets/javascripts/error_tracking/components/error_tracking_list.vue @@ -23,7 +23,12 @@ import { __ } from '~/locale'; import Tracking from '~/tracking'; import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue'; import { sanitizeUrl } from '~/lib/utils/url_utility'; -import { trackErrorListViewsOptions, trackErrorStatusUpdateOptions } from '../utils'; +import { + trackErrorListViewsOptions, + trackErrorStatusUpdateOptions, + trackErrorStatusFilterOptions, + trackErrorSortedByField, +} from '../events_tracking'; import { I18N_ERROR_TRACKING_LIST } from '../constants'; import ErrorTrackingActions from './error_tracking_actions.vue'; @@ -237,8 +242,15 @@ export default { }, filterErrors(status, label) { this.filterValue = label; + const { category, action } = trackErrorStatusFilterOptions(status); + Tracking.event(category, action); return this.filterByStatus(status); }, + sortErrorsByField(field) { + const { category, action } = trackErrorSortedByField(field); + Tracking.event(category, action); + return this.sortByField(field); + }, updateErrosStatus({ errorId, status }) { // eslint-disable-next-line promise/catch-or-return this.updateStatus({ @@ -371,7 +383,7 @@ export default { <gl-dropdown-item v-for="(label, field) in $options.sortFields" :key="field" - @click="sortByField(field)" + @click="sortErrorsByField(field)" > <span class="d-flex"> <gl-icon diff --git a/app/assets/javascripts/error_tracking/utils.js b/app/assets/javascripts/error_tracking/events_tracking.js index afb91d3db51..aaef274d0cd 100644 --- a/app/assets/javascripts/error_tracking/utils.js +++ b/app/assets/javascripts/error_tracking/events_tracking.js @@ -34,3 +34,27 @@ export const trackErrorStatusUpdateOptions = (status) => ({ category, action: `update_${status}_status`, }); + +/** + * Tracks snowplow event when error list is filter by status + */ +export const trackErrorStatusFilterOptions = (status) => ({ + category, + action: `filter_${status}_status`, +}); + +/** + * Tracks snowplow event when error list is sorted by field + */ +export const trackErrorSortedByField = (field) => ({ + category, + action: `sort_by_${field}`, +}); + +/** + * Tracks snowplow event when the Create Issue button is clicked + */ +export const trackCreateIssueFromError = { + category, + action: 'click_create_issue_from_error', +}; diff --git a/app/assets/javascripts/import/details/components/import_details_table.vue b/app/assets/javascripts/import/details/components/import_details_table.vue index b32b5778265..813dc1f2645 100644 --- a/app/assets/javascripts/import/details/components/import_details_table.vue +++ b/app/assets/javascripts/import/details/components/import_details_table.vue @@ -34,7 +34,7 @@ export default { tdClass: 'gl-md-w-30 gl-word-break-word', }, { - key: 'url', + key: 'provider_url', label: __('URL'), tdClass: 'gl-white-space-nowrap', }, @@ -141,9 +141,9 @@ export default { <template #cell(type)="{ item: { type } }"> {{ $options.STATISTIC_ITEMS[type] }} </template> - <template #cell(url)="{ item: { url } }"> - <gl-link v-if="url" :href="url" target="_blank"> - {{ url }} + <template #cell(provider_url)="{ item: { provider_url } }"> + <gl-link v-if="provider_url" :href="provider_url" target="_blank"> + {{ provider_url }} <gl-icon name="external-link" /> </gl-link> </template> diff --git a/app/models/ci/build_trace.rb b/app/models/ci/build_trace.rb index b9a74102641..f70e1ed69ea 100644 --- a/app/models/ci/build_trace.rb +++ b/app/models/ci/build_trace.rb @@ -12,11 +12,7 @@ module Ci if stream.valid? stream.limit - @trace = Gitlab::Ci::Ansi2json.convert( - stream.stream, - state, - verify_state: Feature.enabled?(:sign_and_verify_ansi2json_state, build.project) - ) + @trace = Gitlab::Ci::Ansi2json.convert(stream.stream, state) end end |