summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/integrations
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-11-17 11:33:21 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-11-17 11:33:21 +0000
commit7021455bd1ed7b125c55eb1b33c5a01f2bc55ee0 (patch)
tree5bdc2229f5198d516781f8d24eace62fc7e589e9 /app/assets/javascripts/integrations
parent185b095e93520f96e9cfc31d9c3e69b498cdab7c (diff)
downloadgitlab-ce-7021455bd1ed7b125c55eb1b33c5a01f2bc55ee0.tar.gz
Add latest changes from gitlab-org/gitlab@15-6-stable-eev15.6.0-rc42
Diffstat (limited to 'app/assets/javascripts/integrations')
-rw-r--r--app/assets/javascripts/integrations/constants.js2
-rw-r--r--app/assets/javascripts/integrations/edit/components/integration_form.vue19
-rw-r--r--app/assets/javascripts/integrations/edit/components/reset_confirmation_modal.vue22
-rw-r--r--app/assets/javascripts/integrations/edit/components/trigger_fields.vue4
-rw-r--r--app/assets/javascripts/integrations/edit/index.js4
5 files changed, 34 insertions, 17 deletions
diff --git a/app/assets/javascripts/integrations/constants.js b/app/assets/javascripts/integrations/constants.js
index 2806b785816..392dd63b089 100644
--- a/app/assets/javascripts/integrations/constants.js
+++ b/app/assets/javascripts/integrations/constants.js
@@ -85,10 +85,12 @@ export const billingPlanNames = {
};
const INTEGRATION_TYPE_SLACK = 'slack';
+const INTEGRATION_TYPE_SLACK_APPLICATION = 'gitlab_slack_application';
const INTEGRATION_TYPE_MATTERMOST = 'mattermost';
export const placeholderForType = {
[INTEGRATION_TYPE_SLACK]: __('#general, #development'),
+ [INTEGRATION_TYPE_SLACK_APPLICATION]: __('#general, #development'),
[INTEGRATION_TYPE_MATTERMOST]: __('my-channel'),
};
diff --git a/app/assets/javascripts/integrations/edit/components/integration_form.vue b/app/assets/javascripts/integrations/edit/components/integration_form.vue
index 15f76c16516..4bf2b8d4468 100644
--- a/app/assets/javascripts/integrations/edit/components/integration_form.vue
+++ b/app/assets/javascripts/integrations/edit/components/integration_form.vue
@@ -1,5 +1,6 @@
<script>
import {
+ GlAlert,
GlBadge,
GlButton,
GlModalDirective,
@@ -9,7 +10,7 @@ import {
import axios from 'axios';
import * as Sentry from '@sentry/browser';
import { mapState, mapActions, mapGetters } from 'vuex';
-
+import { s__ } from '~/locale';
import {
I18N_FETCH_TEST_SETTINGS_DEFAULT_ERROR_MESSAGE,
I18N_DEFAULT_ERROR_MESSAGE,
@@ -59,6 +60,7 @@ export default {
import(
/* webpackChunkName: 'integrationSectionTrigger' */ '~/integrations/edit/components/sections/trigger.vue'
),
+ GlAlert,
GlBadge,
GlButton,
GlForm,
@@ -223,6 +225,12 @@ export default {
csrf,
integrationFormSectionComponents,
billingPlanNames,
+ slackUpgradeInfo: {
+ title: s__(
+ `SlackIntegration|Notifications only work if you're on the latest version of the GitLab for Slack app`,
+ ),
+ btnText: s__('SlackIntegration|Update to the latest version'),
+ },
};
</script>
@@ -277,6 +285,15 @@ export default {
</section>
<template v-if="hasSections">
+ <div v-if="customState.shouldUpgradeSlack && isSlackIntegration" class="gl-border-t">
+ <gl-alert
+ :title="$options.slackUpgradeInfo.title"
+ variant="warning"
+ :primary-button-link="customState.upgradeSlackUrl"
+ :primary-button-text="$options.slackUpgradeInfo.btnText"
+ class="gl-mb-8 gl-mt-5"
+ />
+ </div>
<div
v-for="(section, index) in customState.sections"
:key="section.type"
diff --git a/app/assets/javascripts/integrations/edit/components/reset_confirmation_modal.vue b/app/assets/javascripts/integrations/edit/components/reset_confirmation_modal.vue
index 403bad3db11..41cd650f932 100644
--- a/app/assets/javascripts/integrations/edit/components/reset_confirmation_modal.vue
+++ b/app/assets/javascripts/integrations/edit/components/reset_confirmation_modal.vue
@@ -7,18 +7,12 @@ export default {
components: {
GlModal,
},
- computed: {
- primaryProps() {
- return {
- text: __('Reset'),
- attributes: [{ variant: 'danger' }, { category: 'primary' }],
- };
- },
- cancelProps() {
- return {
- text: __('Cancel'),
- };
- },
+ primaryProps: {
+ text: __('Reset'),
+ attributes: [{ variant: 'danger' }, { category: 'primary' }],
+ },
+ cancelProps: {
+ text: __('Cancel'),
},
methods: {
onReset() {
@@ -33,8 +27,8 @@ export default {
modal-id="confirmResetIntegration"
size="sm"
:title="s__('Integrations|Reset integration?')"
- :action-primary="primaryProps"
- :action-cancel="cancelProps"
+ :action-primary="$options.primaryProps"
+ :action-cancel="$options.cancelProps"
@primary="onReset"
>
<p>
diff --git a/app/assets/javascripts/integrations/edit/components/trigger_fields.vue b/app/assets/javascripts/integrations/edit/components/trigger_fields.vue
index 67647cadf19..3820a87e5ad 100644
--- a/app/assets/javascripts/integrations/edit/components/trigger_fields.vue
+++ b/app/assets/javascripts/integrations/edit/components/trigger_fields.vue
@@ -23,7 +23,7 @@ export default {
},
computed: {
...mapGetters(['isInheriting']),
- placeholder() {
+ defaultPlaceholder() {
return placeholderForType[this.type];
},
},
@@ -55,7 +55,7 @@ export default {
v-if="event.field"
v-model="event.field.value"
:name="fieldName(event.field.name)"
- :placeholder="placeholder"
+ :placeholder="event.field.placeholder || defaultPlaceholder"
:readonly="isInheriting"
/>
</gl-form-group>
diff --git a/app/assets/javascripts/integrations/edit/index.js b/app/assets/javascripts/integrations/edit/index.js
index 2360588ab39..f15ad5e052e 100644
--- a/app/assets/javascripts/integrations/edit/index.js
+++ b/app/assets/javascripts/integrations/edit/index.js
@@ -36,6 +36,7 @@ function parseDatasetToProps(data) {
jiraIssueTransitionAutomatic,
jiraIssueTransitionId,
redirectTo,
+ upgradeSlackUrl,
...booleanAttributes
} = data;
const {
@@ -51,6 +52,7 @@ function parseDatasetToProps(data) {
showJiraVulnerabilitiesIntegration,
enableJiraIssues,
enableJiraVulnerabilities,
+ shouldUpgradeSlack,
} = parseBooleanInData(booleanAttributes);
return {
@@ -89,6 +91,8 @@ function parseDatasetToProps(data) {
integrationLevel,
id: parseInt(id, 10),
redirectTo,
+ shouldUpgradeSlack,
+ upgradeSlackUrl,
};
}