diff --git a/Gemfile b/Gemfile index 644849fe648..6c9836c6cbd 100644 --- a/Gemfile +++ b/Gemfile @@ -635,7 +635,7 @@ gem 'spamcheck', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory gem 'gitaly', '~> 17.5.0.pre.rc1', feature_category: :gitaly # KAS GRPC protocol definitions -gem 'gitlab-kas-grpc', '~> 17.6.1', feature_category: :deployment_management +gem 'gitlab-kas-grpc', '~> 17.7.0', feature_category: :deployment_management # Lock the version before issues below are resolved: # https://gitlab.com/gitlab-org/gitlab/-/issues/473169#note_2028352939 diff --git a/Gemfile.checksum b/Gemfile.checksum index b245199e3c0..162678202b5 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -231,7 +231,7 @@ {"name":"gitlab-glfm-markdown","version":"0.0.23","platform":"ruby","checksum":"89a12909c39aea326adb0b7194f7b89d61b4f9122308435fba0bcb84e4f4ff24"}, {"name":"gitlab-glfm-markdown","version":"0.0.23","platform":"x86_64-darwin","checksum":"4b77a37358d98c3b2269f7dd19f6549555c5de00bf12a4eca25c34076f72f78d"}, {"name":"gitlab-glfm-markdown","version":"0.0.23","platform":"x86_64-linux","checksum":"2b71ec5ae06a524114e2cf423ce6635fd1f5c6776c0c956188aa0b2f0fbfbead"}, -{"name":"gitlab-kas-grpc","version":"17.6.2","platform":"ruby","checksum":"cf057d6c9ac2cfdbd59de9af95adeeb74be3996d4babfb5fb67397dd8a976887"}, +{"name":"gitlab-kas-grpc","version":"17.7.0","platform":"ruby","checksum":"3960e514672c22e7efad533140255acd59b0a32e22cc270af124361173400600"}, {"name":"gitlab-labkit","version":"0.37.0","platform":"ruby","checksum":"d2dd0a60db2149a9a8eebf2975dc23f54ac3ceb01bdba732eb1b26b86dfffa70"}, {"name":"gitlab-license","version":"2.6.0","platform":"ruby","checksum":"2c1f8ae73835640ec77bf758c1d0c9730635043c01cf77902f7976e826d7d016"}, {"name":"gitlab-mail_room","version":"0.0.25","platform":"ruby","checksum":"223ce7c3c0797b6015eaa37147884e6ddc7be9a7ee90a424358c96bc18613b1a"}, diff --git a/Gemfile.lock b/Gemfile.lock index e9723e3149c..a637019fd7b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -753,7 +753,7 @@ GEM nokogiri (~> 1, >= 1.10.8) gitlab-glfm-markdown (0.0.23) rb_sys (= 0.9.94) - gitlab-kas-grpc (17.6.2) + gitlab-kas-grpc (17.7.0) grpc (~> 1.0) gitlab-labkit (0.37.0) actionpack (>= 5.0.0, < 8.1.0) @@ -2083,7 +2083,7 @@ DEPENDENCIES gitlab-glfm-markdown (~> 0.0.21) gitlab-housekeeper! gitlab-http! - gitlab-kas-grpc (~> 17.6.1) + gitlab-kas-grpc (~> 17.7.0) gitlab-labkit (~> 0.37.0) gitlab-license (~> 2.6) gitlab-mail_room (~> 0.0.24) diff --git a/Gemfile.next.checksum b/Gemfile.next.checksum index 5fab2d0c534..652b3196286 100644 --- a/Gemfile.next.checksum +++ b/Gemfile.next.checksum @@ -232,7 +232,7 @@ {"name":"gitlab-glfm-markdown","version":"0.0.23","platform":"ruby","checksum":"89a12909c39aea326adb0b7194f7b89d61b4f9122308435fba0bcb84e4f4ff24"}, {"name":"gitlab-glfm-markdown","version":"0.0.23","platform":"x86_64-darwin","checksum":"4b77a37358d98c3b2269f7dd19f6549555c5de00bf12a4eca25c34076f72f78d"}, {"name":"gitlab-glfm-markdown","version":"0.0.23","platform":"x86_64-linux","checksum":"2b71ec5ae06a524114e2cf423ce6635fd1f5c6776c0c956188aa0b2f0fbfbead"}, -{"name":"gitlab-kas-grpc","version":"17.6.2","platform":"ruby","checksum":"cf057d6c9ac2cfdbd59de9af95adeeb74be3996d4babfb5fb67397dd8a976887"}, +{"name":"gitlab-kas-grpc","version":"17.7.0","platform":"ruby","checksum":"3960e514672c22e7efad533140255acd59b0a32e22cc270af124361173400600"}, {"name":"gitlab-labkit","version":"0.37.0","platform":"ruby","checksum":"d2dd0a60db2149a9a8eebf2975dc23f54ac3ceb01bdba732eb1b26b86dfffa70"}, {"name":"gitlab-license","version":"2.6.0","platform":"ruby","checksum":"2c1f8ae73835640ec77bf758c1d0c9730635043c01cf77902f7976e826d7d016"}, {"name":"gitlab-mail_room","version":"0.0.25","platform":"ruby","checksum":"223ce7c3c0797b6015eaa37147884e6ddc7be9a7ee90a424358c96bc18613b1a"}, diff --git a/Gemfile.next.lock b/Gemfile.next.lock index a9fc008f8ea..2e3714b4b05 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -763,7 +763,7 @@ GEM nokogiri (~> 1, >= 1.10.8) gitlab-glfm-markdown (0.0.23) rb_sys (= 0.9.94) - gitlab-kas-grpc (17.6.2) + gitlab-kas-grpc (17.7.0) grpc (~> 1.0) gitlab-labkit (0.37.0) actionpack (>= 5.0.0, < 8.1.0) @@ -2111,7 +2111,7 @@ DEPENDENCIES gitlab-glfm-markdown (~> 0.0.21) gitlab-housekeeper! gitlab-http! - gitlab-kas-grpc (~> 17.6.1) + gitlab-kas-grpc (~> 17.7.0) gitlab-labkit (~> 0.37.0) gitlab-license (~> 2.6) gitlab-mail_room (~> 0.0.24) diff --git a/app/assets/javascripts/deployments/components/deployment_aside.vue b/app/assets/javascripts/deployments/components/deployment_aside.vue index f6c2f920690..afd28a110e7 100644 --- a/app/assets/javascripts/deployments/components/deployment_aside.vue +++ b/app/assets/javascripts/deployments/components/deployment_aside.vue @@ -4,6 +4,9 @@ import { GlBreakpointInstance as bp } from '@gitlab/ui/dist/utils'; import ShowMore from '~/vue_shared/components/show_more.vue'; import AssigneeAvatarLink from '~/sidebar/components/assignees/assignee_avatar_link.vue'; import { __, s__ } from '~/locale'; +import { getIdFromGraphQLId } from '~/graphql_shared/utils'; +import { InternalEvents } from '~/tracking'; +import { CLICK_PIPELINE_LINK_ON_DEPLOYMENT_PAGE } from '~/deployments/utils'; import AsideItem from './aside_item.vue'; export default { @@ -17,6 +20,7 @@ export default { directives: { GlTooltip: GlTooltipDirective, }, + mixins: [InternalEvents.mixin()], props: { deployment: { required: true, @@ -72,6 +76,9 @@ export default { hasUrl() { return Boolean(this.environment.externalUrl); }, + pipelineId() { + return getIdFromGraphQLId(this.deployment.job.pipeline.id); + }, }, mounted() { window.addEventListener('resize', this.handleWindowResize); @@ -87,11 +94,15 @@ export default { toggleSidebar() { this.isExpanded = !this.isExpanded; }, + trackPipelineLinkClick() { + this.trackEvent(CLICK_PIPELINE_LINK_ON_DEPLOYMENT_PAGE); + }, }, i18n: { openUrl: s__('Deployment|Open URL'), triggerer: s__('Deployment|Triggerer'), relatedTags: s__('Deployment|Related Tags'), + pipeline: s__('Deployment|Pipeline'), job: s__('Deployment|Job'), branch: s__('Deployment|Branch'), tag: s__('Deployment|Tag'), @@ -172,6 +183,17 @@ export default { + + + + #{{ pipelineId }} + + + diff --git a/app/assets/javascripts/deployments/graphql/queries/deployment.query.graphql b/app/assets/javascripts/deployments/graphql/queries/deployment.query.graphql index e4ea6a114fd..df0117a17d6 100644 --- a/app/assets/javascripts/deployments/graphql/queries/deployment.query.graphql +++ b/app/assets/javascripts/deployments/graphql/queries/deployment.query.graphql @@ -21,6 +21,10 @@ query fetchDeployment($fullPath: ID!, $iid: ID!) { ...DeploymentJob canPlayJob manualJob + pipeline { + id + path + } } commit { id diff --git a/app/assets/javascripts/deployments/utils/index.js b/app/assets/javascripts/deployments/utils/index.js index bd9e76f6ca0..7f0a4d72790 100644 --- a/app/assets/javascripts/deployments/utils/index.js +++ b/app/assets/javascripts/deployments/utils/index.js @@ -3,3 +3,5 @@ export const FINISHED_STATUSES = ['SUCCESS', 'FAILED', 'CANCELED']; export const UPCOMING_STATUSES = ['RUNNING', 'BLOCKED']; export const isFinished = ({ status }) => FINISHED_STATUSES.includes(status); + +export const CLICK_PIPELINE_LINK_ON_DEPLOYMENT_PAGE = 'clicked_deployment_details_pipeline_link'; diff --git a/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue b/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue index 27e9dc0703c..9a9cdcd9bf1 100644 --- a/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue +++ b/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue @@ -1,5 +1,5 @@