1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-31 00:16:47 +01:00

fix: integrations text review (#4706)

## About the changes
Update copy

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
This commit is contained in:
Tymoteusz Czech 2023-09-14 14:01:29 +02:00 committed by GitHub
parent 18bab80b4f
commit e8d5f0cf56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 43 additions and 37 deletions

View File

@ -46,8 +46,9 @@ export const IntegrationDelete: VFC<IIntegrationDeleteProps> = ({ id }) => {
<> <>
<StyledTitle>Delete integration</StyledTitle> <StyledTitle>Delete integration</StyledTitle>
<StyledHelpText> <StyledHelpText>
Deleting an integration will delete the entire configuration and Deleting an integration instance will delete all its
will automatically disable the integration configuration. It will stop working immediately. Other instances
of the same integration are unaffected.
</StyledHelpText> </StyledHelpText>
<StyledContainer> <StyledContainer>
<PermissionButton <PermissionButton

View File

@ -259,7 +259,8 @@ export const IntegrationForm: VFC<IntegrationFormProps> = ({
<FormTemplate <FormTemplate
title={ title={
<> <>
{submitText} {name ? capitalizeFirst(`${name} `) : ''} {submitText}{' '}
{displayName || (name ? capitalizeFirst(name) : '')}{' '}
integration integration
</> </>
} }
@ -368,7 +369,7 @@ export const IntegrationForm: VFC<IntegrationFormProps> = ({
entityName="event" entityName="event"
selectAllEnabled={false} selectAllEnabled={false}
error={errors.events} error={errors.events}
description="Select what events you want your integration to be notified about." description="Select which events you want your integration to be notified about."
required required
/> />
</div> </div>

View File

@ -113,9 +113,8 @@ export const AvailableIntegrations: VFC<IAvailableIntegrationsProps> = ({
Performance and security Performance and security
</Typography> </Typography>
<Typography variant="body2" color="text.secondary"> <Typography variant="body2" color="text.secondary">
Connect Unleash to private, scalable and distributed Connect Unleash to private, scalable, and
relays. Additional layer for handling massive number distributed relays.
of requests.
</Typography> </Typography>
</div> </div>
<StyledCardsGrid> <StyledCardsGrid>

View File

@ -10,28 +10,28 @@ export const OFFICIAL_SDKS: Sdk[] = [
{ {
name: 'go', name: 'go',
displayName: 'GO SDK', displayName: 'GO SDK',
description: 'Officially Unleash Client for Go', description: 'Official Unleash Client for Go',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/go', documentationUrl: 'https://docs.getunleash.io/reference/sdks/go',
type: 'server', type: 'server',
}, },
{ {
name: 'java', name: 'java',
displayName: 'Java SDK', displayName: 'Java SDK',
description: 'Officially Unleash Client for Java', description: 'Official Unleash Client for Java',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/java', documentationUrl: 'https://docs.getunleash.io/reference/sdks/java',
type: 'server', type: 'server',
}, },
{ {
name: 'node', name: 'node',
displayName: 'Node.js SDK', displayName: 'Node.js SDK',
description: 'Officially Unleash Client for Node.js', description: 'Official Unleash Client for Node.js',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/node', documentationUrl: 'https://docs.getunleash.io/reference/sdks/node',
type: 'server', type: 'server',
}, },
{ {
name: 'php', name: 'php',
displayName: 'PHP SDK', displayName: 'PHP SDK',
description: 'Officially Unleash Client for PHP', description: 'Official Unleash Client for PHP',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/php', documentationUrl: 'https://docs.getunleash.io/reference/sdks/php',
type: 'server', type: 'server',
}, },
@ -45,28 +45,28 @@ export const OFFICIAL_SDKS: Sdk[] = [
{ {
name: 'ruby', name: 'ruby',
displayName: 'Ruby SDK', displayName: 'Ruby SDK',
description: 'Officially Unleash Client for Ruby', description: 'Official Unleash Client for Ruby',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/ruby', documentationUrl: 'https://docs.getunleash.io/reference/sdks/ruby',
type: 'server', type: 'server',
}, },
{ {
name: 'rust', name: 'rust',
displayName: 'Rust SDK', displayName: 'Rust SDK',
description: 'Officially Unleash Client for Rust', description: 'Official Unleash Client for Rust',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/rust', documentationUrl: 'https://docs.getunleash.io/reference/sdks/rust',
type: 'server', type: 'server',
}, },
{ {
name: 'dotnet', name: 'dotnet',
displayName: '.Net SDK', displayName: '.NET SDK',
description: 'Officially Unleash Client for .Net', description: 'Official Unleash Client for .NET',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/dotnet ', documentationUrl: 'https://docs.getunleash.io/reference/sdks/dotnet ',
type: 'server', type: 'server',
}, },
{ {
name: 'android', name: 'android',
displayName: 'Android SDK', displayName: 'Android SDK',
description: 'Officially Unleash Client for Android', description: 'Official Unleash Client for Android',
documentationUrl: documentationUrl:
'https://docs.getunleash.io/reference/sdks/android-proxy', 'https://docs.getunleash.io/reference/sdks/android-proxy',
type: 'client', type: 'client',
@ -74,21 +74,21 @@ export const OFFICIAL_SDKS: Sdk[] = [
{ {
name: 'flutter', name: 'flutter',
displayName: 'Flutter Proxy SDK', displayName: 'Flutter Proxy SDK',
description: 'Officially Unleash Client for Flutter', description: 'Official Unleash Client for Flutter',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/flutter', documentationUrl: 'https://docs.getunleash.io/reference/sdks/flutter',
type: 'client', type: 'client',
}, },
{ {
name: 'swift', name: 'swift',
displayName: 'Swift Proxy SDK', displayName: 'Swift Proxy SDK',
description: 'Officially Unleash Client for iOS', description: 'Official Unleash Client for iOS',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/ios-proxy', documentationUrl: 'https://docs.getunleash.io/reference/sdks/ios-proxy',
type: 'client', type: 'client',
}, },
{ {
name: 'javascript', name: 'javascript',
displayName: 'Javascript Proxy SDK', displayName: 'Javascript Proxy SDK',
description: 'Officially Unleash Client for Javascript', description: 'Official Unleash Client for Javascript',
documentationUrl: documentationUrl:
'https://docs.getunleash.io/reference/sdks/javascript-browser', 'https://docs.getunleash.io/reference/sdks/javascript-browser',
type: 'client', type: 'client',
@ -96,21 +96,21 @@ export const OFFICIAL_SDKS: Sdk[] = [
{ {
name: 'react', name: 'react',
displayName: 'React Proxy SDK', displayName: 'React Proxy SDK',
description: 'Officially Unleash Client for React', description: 'Official Unleash Client for React',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/react', documentationUrl: 'https://docs.getunleash.io/reference/sdks/react',
type: 'client', type: 'client',
}, },
{ {
name: 'svelte', name: 'svelte',
displayName: 'Svelte Proxy SDK', displayName: 'Svelte Proxy SDK',
description: 'Officially Unleash Client for Svelte', description: 'Official Unleash Client for Svelte',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/svelte', documentationUrl: 'https://docs.getunleash.io/reference/sdks/svelte',
type: 'client', type: 'client',
}, },
{ {
name: 'vue', name: 'vue',
displayName: 'Vue Proxy SDK', displayName: 'Vue Proxy SDK',
description: 'Officially Unleash Client for Vue', description: 'Official Unleash Client for Vue',
documentationUrl: 'https://docs.getunleash.io/reference/sdks/vue', documentationUrl: 'https://docs.getunleash.io/reference/sdks/vue',
type: 'client', type: 'client',
}, },

View File

@ -51,6 +51,7 @@ export const ConfiguredIntegrations: VFC<ConfiguredIntegrationsProps> = ({
isEnabled={enabled} isEnabled={enabled}
description={description || ''} description={description || ''}
link={`/integrations/edit/${id}`} link={`/integrations/edit/${id}`}
configureActionText="Configure"
/> />
); );
})} })}

View File

@ -22,7 +22,6 @@ import useAddons from 'hooks/api/getters/useAddons/useAddons';
import useToast from 'hooks/useToast'; import useToast from 'hooks/useToast';
import { formatUnknownError } from 'utils/formatUnknownError'; import { formatUnknownError } from 'utils/formatUnknownError';
import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { Dialogue } from 'component/common/Dialogue/Dialogue';
import { event } from 'cypress/types/jquery';
interface IIntegrationCardMenuProps { interface IIntegrationCardMenuProps {
addon: AddonSchema; addon: AddonSchema;

View File

@ -34,7 +34,7 @@ export const RequestIntegrationCard: VFC = () => (
rel="noopener noreferrer" rel="noopener noreferrer"
> >
<Typography variant="body2" color="text.secondary" data-loading> <Typography variant="body2" color="text.secondary" data-loading>
Are we missing any integration that you need? Are we missing an integration that you need?
</Typography> </Typography>
<Typography variant="body2" color="text.secondary" data-loading> <Typography variant="body2" color="text.secondary" data-loading>
Go ahead and request it! Go ahead and request it!

View File

@ -47,6 +47,10 @@ const theme = {
fontSize: '1rem', fontSize: '1rem',
fontWeight: '700', fontWeight: '700',
}, },
h4: {
fontSize: '1rem',
fontWeight: '400',
},
caption: { caption: {
fontSize: `${12 / 16}rem`, fontSize: `${12 / 16}rem`,
}, },

View File

@ -3,7 +3,7 @@ import { colors } from './colors';
import { alpha } from '@mui/material'; import { alpha } from '@mui/material';
import { focusable } from 'themes/themeStyles'; import { focusable } from 'themes/themeStyles';
const theme = { export const theme = {
breakpoints: { breakpoints: {
values: { values: {
xs: 0, xs: 0,

View File

@ -28,7 +28,7 @@ const dataDogDefinition: IAddonDefinition = {
name: 'url', name: 'url',
displayName: 'Datadog Events URL', displayName: 'Datadog Events URL',
description: description:
'Default url: https://api.datadoghq.com/api/v1/events. Needs to be changed if your not using the US1 site.', "Default URL: https://api.datadoghq.com/api/v1/events. Needs to be changed if your're not using the US1 site.",
type: 'url', type: 'url',
required: false, required: false,
sensitive: false, sensitive: false,
@ -37,7 +37,7 @@ const dataDogDefinition: IAddonDefinition = {
name: 'apiKey', name: 'apiKey',
displayName: 'Datadog API key', displayName: 'Datadog API key',
placeholder: 'j96c23b0f12a6b3434a8d710110bd862', placeholder: 'j96c23b0f12a6b3434a8d710110bd862',
description: '(Required) API key from Datadog', description: '(Required) API key to connect to Datadog',
type: 'text', type: 'text',
required: true, required: true,
sensitive: true, sensitive: true,
@ -57,7 +57,7 @@ const dataDogDefinition: IAddonDefinition = {
placeholder: placeholder:
'{\n"ISTIO_USER_KEY": "hunter2",\n"SOME_OTHER_CUSTOM_HTTP_HEADER": "SOMEVALUE"\n}', '{\n"ISTIO_USER_KEY": "hunter2",\n"SOME_OTHER_CUSTOM_HTTP_HEADER": "SOMEVALUE"\n}',
description: description:
'(Optional) Used to add extra HTTP Headers to the request the plugin fires off. Format here needs to be a valid json object of key value pairs where both key and value are strings', '(Optional) Used to add extra HTTP Headers to the request the plugin fires off. This must be a valid json object of key-value pairs where both the key and the value are strings',
required: false, required: false,
sensitive: true, sensitive: true,
type: 'textfield', type: 'textfield',

View File

@ -65,7 +65,7 @@ const slackDefinition: IAddonDefinition = {
displayName: 'Extra HTTP Headers', displayName: 'Extra HTTP Headers',
placeholder: placeholder:
'{\n"ISTIO_USER_KEY": "hunter2",\n"SOME_OTHER_CUSTOM_HTTP_HEADER": "SOMEVALUE"\n}', '{\n"ISTIO_USER_KEY": "hunter2",\n"SOME_OTHER_CUSTOM_HTTP_HEADER": "SOMEVALUE"\n}',
description: `(Optional) Used to add extra HTTP Headers to the request the plugin fires off. Format here needs to be a valid json object of key value pairs where both key and value are strings`, description: `(Optional) Used to add extra HTTP Headers to the request the plugin fires off. This must be a valid json object of key-value pairs where both the key and the value are strings`,
required: false, required: false,
sensitive: true, sensitive: true,
type: 'textfield', type: 'textfield',

View File

@ -22,7 +22,7 @@ const teamsDefinition: IAddonDefinition = {
displayName: 'Microsoft Teams', displayName: 'Microsoft Teams',
description: 'Allows Unleash to post updates to Microsoft Teams.', description: 'Allows Unleash to post updates to Microsoft Teams.',
documentationUrl: 'https://docs.getunleash.io/docs/addons/teams', documentationUrl: 'https://docs.getunleash.io/docs/addons/teams',
howTo: 'The MicrosoftTeams integration allows Unleash to post Updates when a feature toggle is updated.', howTo: 'The Microsoft Teams integration allows Unleash to post Updates when a feature toggle is updated.',
parameters: [ parameters: [
{ {
name: 'url', name: 'url',
@ -37,7 +37,7 @@ const teamsDefinition: IAddonDefinition = {
displayName: 'Extra HTTP Headers', displayName: 'Extra HTTP Headers',
placeholder: placeholder:
'{\n"ISTIO_USER_KEY": "hunter2",\n"SOME_OTHER_CUSTOM_HTTP_HEADER": "SOMEVALUE"\n}', '{\n"ISTIO_USER_KEY": "hunter2",\n"SOME_OTHER_CUSTOM_HTTP_HEADER": "SOMEVALUE"\n}',
description: `(Optional) Used to add extra HTTP Headers to the request the plugin fires off. Format here needs to be a valid json object of key value pairs where both key and value are strings`, description: `(Optional) Used to add extra HTTP Headers to the request the plugin fires off. This must be a valid json object of key-value pairs where both the key and the value are strings`,
required: false, required: false,
sensitive: true, sensitive: true,
type: 'textfield', type: 'textfield',

View File

@ -34,7 +34,7 @@ const webhookDefinition: IAddonDefinition = {
description: description:
'A Webhook is a generic way to post messages from Unleash to third party services.', 'A Webhook is a generic way to post messages from Unleash to third party services.',
documentationUrl: 'https://docs.getunleash.io/docs/addons/webhook', documentationUrl: 'https://docs.getunleash.io/docs/addons/webhook',
howTo: 'The Webhook Addon introduces a generic way to post messages from Unleash to third party services. Unleash allows you to define a webhook which listens changes in Unleash and post them to a third party services.', howTo: 'The Webhook Addon introduces a generic way to post messages from Unleash to third party services. Unleash allows you to define a webhook which listens for changes in Unleash and posts them to a third party services.',
parameters: [ parameters: [
{ {
name: 'url', name: 'url',
@ -85,7 +85,7 @@ const webhookDefinition: IAddonDefinition = {
displayName: 'Extra HTTP Headers', displayName: 'Extra HTTP Headers',
placeholder: placeholder:
'{\n"ISTIO_USER_KEY": "hunter2",\n"SOME_OTHER_CUSTOM_HTTP_HEADER": "SOMEVALUE"\n}', '{\n"ISTIO_USER_KEY": "hunter2",\n"SOME_OTHER_CUSTOM_HTTP_HEADER": "SOMEVALUE"\n}',
description: `(Optional) Used to add extra HTTP Headers to the request the plugin fires off. Format here needs to be a valid json object of key value pairs where both key and value are strings`, description: `(Optional) Used to add extra HTTP Headers to the request the plugin fires off. This must be a valid json object of key-value pairs where both the key and the value are strings`,
required: false, required: false,
sensitive: true, sensitive: true,
type: 'textfield', type: 'textfield',

View File

@ -217,7 +217,7 @@ export const addonsSchema = {
name: 'url', name: 'url',
displayName: 'Datadog Events URL', displayName: 'Datadog Events URL',
description: description:
'Default url: https://api.datadoghq.com/api/v1/events. Needs to be changed if your not using the US1 site.', "Default URL: https://api.datadoghq.com/api/v1/events. Needs to be changed if your're not using the US1 site.",
type: 'url', type: 'url',
required: false, required: false,
sensitive: false, sensitive: false,
@ -226,7 +226,8 @@ export const addonsSchema = {
name: 'apiKey', name: 'apiKey',
displayName: 'Datadog API key', displayName: 'Datadog API key',
placeholder: 'j96c23b0f12a6b3434a8d710110bd862', placeholder: 'j96c23b0f12a6b3434a8d710110bd862',
description: '(Required) API key from Datadog', description:
'(Required) API key to connect to Datadog',
type: 'text', type: 'text',
required: true, required: true,
sensitive: true, sensitive: true,

View File

@ -5,7 +5,7 @@ title: Microsoft Teams
> This feature was introduced in _Unleash v4.0.0_. > This feature was introduced in _Unleash v4.0.0_.
The MicrosoftTeams addon allows Unleash to post Updates when a feature toggle is updated. To set up this addon, you need to set up a webhook connector for your channel. You can follow [Creating an Incoming Webhook for a channel](https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook) on how to do that. The Microsoft Teams addon allows Unleash to post Updates when a feature toggle is updated. To set up this addon, you need to set up a webhook connector for your channel. You can follow [Creating an Incoming Webhook for a channel](https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook) on how to do that.
The Microsoft Teams addon will perform a single retry if the HTTP POST against the Microsoft Teams Webhook URL fails (either a 50x or network error). Duplicate events may happen, and you should never assume events always comes in order. The Microsoft Teams addon will perform a single retry if the HTTP POST against the Microsoft Teams Webhook URL fails (either a 50x or network error). Duplicate events may happen, and you should never assume events always comes in order.

View File

@ -102,7 +102,7 @@ unleash.start(unleashOptions);
- **preHook** (function) - this is a hook if you need to provide any middlewares to express before `unleash` adds any. Express app instance is injected as first argument. - **preHook** (function) - this is a hook if you need to provide any middlewares to express before `unleash` adds any. Express app instance is injected as first argument.
- **preRouterHook** (function) - use this to register custom express middlewares before the `unleash` specific routers are added. - **preRouterHook** (function) - use this to register custom express middlewares before the `unleash` specific routers are added.
- **secureHeaders** (boolean) - use this to enable security headers (HSTS, CSP, etc) when serving Unleash from HTTPS. Can also be configured through the environment variable `SECURE_HEADERS`. - **secureHeaders** (boolean) - use this to enable security headers (HSTS, CSP, etc) when serving Unleash from HTTPS. Can also be configured through the environment variable `SECURE_HEADERS`.
- **additionalCspAllowedDomains** (CspAllowedDomains) - use this when you want to enable security headers but have additional domains you need to allow traffic to you can set the following environment variables: - **additionalCspAllowedDomains** (CspAllowedDomains) - use this when you want to enable security headers but have additional domains you need to allow traffic to. You can set the following environment variables:
- `CSP_ALLOWED_DEFAULT` to allow new defaultSrc (comma separated list) - `CSP_ALLOWED_DEFAULT` to allow new defaultSrc (comma separated list)
- `CSP_ALLOWED_FONT` to allow new fontSrc (comma separated list) - `CSP_ALLOWED_FONT` to allow new fontSrc (comma separated list)
- `CSP_ALLOWED_STYLE` to allow new styleSrc (comma separated list) - `CSP_ALLOWED_STYLE` to allow new styleSrc (comma separated list)