diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 0d34eeccf8c..ae971c2f987 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -101,6 +101,7 @@ /doc/api/repository_files.md @aqualls /doc/api/repository_submodules.md @aqualls /doc/api/search.md @aqualls +/doc/api/services.md @aqualls /doc/api/snippets.md @aqualls /doc/api/suggestions.md @aqualls /doc/api/tags.md @aqualls @@ -110,6 +111,7 @@ /doc/topics/gitlab_flow.md @aqualls /doc/user/admin_area/settings/account_and_limit_settings.md @aqualls /doc/user/admin_area/settings/instance_template_repository.md @aqualls +/doc/user/admin_area/settings/project_integration_management.md @aqualls /doc/user/admin_area/settings/push_event_activities_limit.md @aqualls /doc/user/admin_area/settings/visibility_and_access_controls.md @aqualls /doc/user/asciidoc.md @aqualls diff --git a/app/assets/javascripts/pipelines/components/graph/graph_component_wrapper.vue b/app/assets/javascripts/pipelines/components/graph/graph_component_wrapper.vue index f596333237d..afe4dfb9c8d 100644 --- a/app/assets/javascripts/pipelines/components/graph/graph_component_wrapper.vue +++ b/app/assets/javascripts/pipelines/components/graph/graph_component_wrapper.vue @@ -2,7 +2,7 @@ import { GlAlert, GlLoadingIcon } from '@gitlab/ui'; import getPipelineDetails from 'shared_queries/pipelines/get_pipeline_details.query.graphql'; import { __ } from '~/locale'; -import { DEFAULT, LOAD_FAILURE } from '../../constants'; +import { DEFAULT, DRAW_FAILURE, LOAD_FAILURE } from '../../constants'; import PipelineGraph from './graph_component.vue'; import { unwrapPipelineData, toggleQueryPollingByVisibility, reportToSentry } from './utils'; @@ -29,6 +29,7 @@ export default { }; }, errorTexts: { + [DRAW_FAILURE]: __('An error ocurred while drawing job relationship links.'), [LOAD_FAILURE]: __('We are currently unable to fetch data for this pipeline.'), [DEFAULT]: __('An unknown error occurred while loading this graph.'), }, @@ -53,6 +54,11 @@ export default { computed: { alert() { switch (this.alertType) { + case DRAW_FAILURE: + return { + text: this.$options.errorTexts[DRAW_FAILURE], + variant: 'danger', + }; case LOAD_FAILURE: return { text: this.$options.errorTexts[LOAD_FAILURE], @@ -88,8 +94,8 @@ export default { }, reportFailure(type) { this.showAlert = true; - this.failureType = type; - reportToSentry(this.$options.name, this.failureType); + this.alertType = type; + reportToSentry(this.$options.name, this.alertType); }, }, }; diff --git a/app/assets/javascripts/pipelines/components/graph_shared/links_inner.vue b/app/assets/javascripts/pipelines/components/graph_shared/links_inner.vue index 289e04e02c5..a7fad1c57b0 100644 --- a/app/assets/javascripts/pipelines/components/graph_shared/links_inner.vue +++ b/app/assets/javascripts/pipelines/components/graph_shared/links_inner.vue @@ -2,6 +2,7 @@ import { isEmpty } from 'lodash'; import { DRAW_FAILURE } from '../../constants'; import { createJobsHash, generateJobNeedsDict } from '../../utils'; +import { reportToSentry } from '../graph/utils'; import { parseData } from '../parsing_utils'; import { generateLinksData } from './drawing_utils'; @@ -87,6 +88,9 @@ export default { this.$emit('highlightedJobsChange', jobs); }, }, + errorCaptured(err, _vm, info) { + reportToSentry(this.$options.name, `error: ${err}, info: ${info}`); + }, mounted() { if (!isEmpty(this.pipelineData)) { this.prepareLinkData(); @@ -101,8 +105,9 @@ export default { const arrayOfJobs = this.pipelineData.flatMap(({ groups }) => groups); const parsedData = parseData(arrayOfJobs); this.links = generateLinksData(parsedData, this.containerId, `-${this.pipelineId}`); - } catch { + } catch (err) { this.$emit('error', DRAW_FAILURE); + reportToSentry(this.$options.name, err); } }, getLinkClasses(link) { diff --git a/app/assets/javascripts/pipelines/components/graph_shared/links_layer.vue b/app/assets/javascripts/pipelines/components/graph_shared/links_layer.vue index 1c1bc7ecb2a..af3a3f0adff 100644 --- a/app/assets/javascripts/pipelines/components/graph_shared/links_layer.vue +++ b/app/assets/javascripts/pipelines/components/graph_shared/links_layer.vue @@ -1,6 +1,7 @@