summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-05-14 00:07:42 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-05-14 00:07:42 +0000
commit5225ffb5ccfe2fe0e55a3327d43f28f4ed08ae63 (patch)
treeceb6a117475daa1aa17632e1c297863b53195897 /app
parentc0b9c14ebd1524a1e2334e656f997ec680a18966 (diff)
downloadgitlab-ce-5225ffb5ccfe2fe0e55a3327d43f28f4ed08ae63.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/error_tracking/components/error_details.vue8
-rw-r--r--app/assets/javascripts/error_tracking/components/error_details_info.vue2
-rw-r--r--app/assets/javascripts/error_tracking/components/error_tracking_list.vue16
-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.vue8
-rw-r--r--app/models/ci/build_trace.rb6
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