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

feat: remove feature flag for datadog json template (#5105)

## About the changes

Removes the feature flag for the datadog json template
This commit is contained in:
David Leek 2023-10-26 09:09:26 +02:00 committed by GitHub
parent d013867f0f
commit 6fe4740e67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 3 additions and 67 deletions

View File

@ -2,7 +2,6 @@ import { ChangeEventHandler } from 'react';
import { StyledAddonParameterContainer } from '../../IntegrationForm.styles'; import { StyledAddonParameterContainer } from '../../IntegrationForm.styles';
import type { AddonParameterSchema, AddonSchema } from 'openapi'; import type { AddonParameterSchema, AddonSchema } from 'openapi';
import { IntegrationParameterTextField } from './IntegrationParameterTextField'; import { IntegrationParameterTextField } from './IntegrationParameterTextField';
import { useUiFlag } from 'hooks/useUiFlag';
export interface IIntegrationParameterProps { export interface IIntegrationParameterProps {
parametersErrors: Record<string, string>; parametersErrors: Record<string, string>;
@ -17,15 +16,6 @@ export const IntegrationParameter = ({
parametersErrors, parametersErrors,
setParameterValue, setParameterValue,
}: IIntegrationParameterProps) => { }: IIntegrationParameterProps) => {
const datadogJson = useUiFlag('datadogJsonTemplate');
if (
config.provider === 'datadog' &&
definition.name === 'bodyTemplate' &&
!datadogJson
) {
return null;
}
return ( return (
<StyledAddonParameterContainer> <StyledAddonParameterContainer>
<IntegrationParameterTextField <IntegrationParameterTextField

View File

@ -66,7 +66,6 @@ export type UiFlags = {
variantTypeNumber?: boolean; variantTypeNumber?: boolean;
privateProjects?: boolean; privateProjects?: boolean;
accessOverview?: boolean; accessOverview?: boolean;
datadogJsonTemplate?: boolean;
dependentFeatures?: boolean; dependentFeatures?: boolean;
banners?: boolean; banners?: boolean;
disableEnvsOnRevive?: boolean; disableEnvsOnRevive?: boolean;

View File

@ -76,7 +76,6 @@ exports[`should create default config 1`] = `
"banners": false, "banners": false,
"caseInsensitiveInOperators": false, "caseInsensitiveInOperators": false,
"customRootRolesKillSwitch": false, "customRootRolesKillSwitch": false,
"datadogJsonTemplate": false,
"demo": false, "demo": false,
"dependentFeatures": false, "dependentFeatures": false,
"disableBulkToggle": false, "disableBulkToggle": false,

View File

@ -39,11 +39,6 @@ test('Should call datadog webhook', async () => {
const addon = new DatadogAddon({ const addon = new DatadogAddon({
getLogger: noLogger, getLogger: noLogger,
unleashUrl: 'http://some-url.com', unleashUrl: 'http://some-url.com',
flagResolver: {
getAll: jest.fn().mockReturnValue([]),
getVariant: jest.fn(),
isEnabled: jest.fn().mockReturnValue(false),
},
}); });
const event: IEvent = { const event: IEvent = {
id: 1, id: 1,
@ -73,11 +68,6 @@ test('Should call datadog webhook for archived toggle', async () => {
const addon = new DatadogAddon({ const addon = new DatadogAddon({
getLogger: noLogger, getLogger: noLogger,
unleashUrl: 'http://some-url.com', unleashUrl: 'http://some-url.com',
flagResolver: {
getAll: jest.fn().mockReturnValue([]),
getVariant: jest.fn(),
isEnabled: jest.fn().mockReturnValue(false),
},
}); });
const event: IEvent = { const event: IEvent = {
id: 2, id: 2,
@ -105,11 +95,6 @@ test('Should call datadog webhook for archived toggle with project info', async
const addon = new DatadogAddon({ const addon = new DatadogAddon({
getLogger: noLogger, getLogger: noLogger,
unleashUrl: 'http://some-url.com', unleashUrl: 'http://some-url.com',
flagResolver: {
getAll: jest.fn().mockReturnValue([]),
getVariant: jest.fn(),
isEnabled: jest.fn().mockReturnValue(false),
},
}); });
const event: IEvent = { const event: IEvent = {
id: 2, id: 2,
@ -138,11 +123,6 @@ test('Should call datadog webhook for toggled environment', async () => {
const addon = new DatadogAddon({ const addon = new DatadogAddon({
getLogger: noLogger, getLogger: noLogger,
unleashUrl: 'http://some-url.com', unleashUrl: 'http://some-url.com',
flagResolver: {
getAll: jest.fn().mockReturnValue([]),
getVariant: jest.fn(),
isEnabled: jest.fn().mockReturnValue(false),
},
}); });
const event: IEvent = { const event: IEvent = {
id: 2, id: 2,
@ -173,11 +153,6 @@ test('Should include customHeaders in headers when calling service', async () =>
const addon = new DatadogAddon({ const addon = new DatadogAddon({
getLogger: noLogger, getLogger: noLogger,
unleashUrl: 'http://some-url.com', unleashUrl: 'http://some-url.com',
flagResolver: {
getAll: jest.fn().mockReturnValue([]),
getVariant: jest.fn(),
isEnabled: jest.fn().mockReturnValue(false),
},
}); });
const event: IEvent = { const event: IEvent = {
id: 2, id: 2,
@ -209,11 +184,6 @@ test('Should not include source_type_name when included in the config', async ()
const addon = new DatadogAddon({ const addon = new DatadogAddon({
getLogger: noLogger, getLogger: noLogger,
unleashUrl: 'http://some-url.com', unleashUrl: 'http://some-url.com',
flagResolver: {
getAll: jest.fn().mockReturnValue([]),
getVariant: jest.fn(),
isEnabled: jest.fn().mockReturnValue(false),
},
}); });
const event: IEvent = { const event: IEvent = {
id: 2, id: 2,
@ -248,11 +218,6 @@ test('Should call datadog webhook with JSON when template set', async () => {
const addon = new DatadogAddon({ const addon = new DatadogAddon({
getLogger: noLogger, getLogger: noLogger,
unleashUrl: 'http://some-url.com', unleashUrl: 'http://some-url.com',
flagResolver: {
getAll: jest.fn().mockReturnValue([]),
getVariant: jest.fn(),
isEnabled: jest.fn().mockReturnValue(true),
},
}); });
const event: IEvent = { const event: IEvent = {
id: 1, id: 1,

View File

@ -26,22 +26,15 @@ interface DDRequestBody {
source_type_name?: string; source_type_name?: string;
} }
export interface IDatadogAddonConfig extends IAddonConfig {
flagResolver: IFlagResolver;
}
export default class DatadogAddon extends Addon { export default class DatadogAddon extends Addon {
private msgFormatter: FeatureEventFormatter; private msgFormatter: FeatureEventFormatter;
private flagResolver: IFlagResolver; constructor(config: IAddonConfig) {
constructor(config: IDatadogAddonConfig) {
super(definition, config); super(definition, config);
this.msgFormatter = new FeatureEventFormatterMd( this.msgFormatter = new FeatureEventFormatterMd(
config.unleashUrl, config.unleashUrl,
LinkStyle.MD, LinkStyle.MD,
); );
this.flagResolver = config.flagResolver;
} }
async handleEvent( async handleEvent(
@ -61,11 +54,7 @@ export default class DatadogAddon extends Addon {
}; };
let text; let text;
if ( if (typeof bodyTemplate === 'string' && bodyTemplate.length > 1) {
this.flagResolver.isEnabled('datadogJsonTemplate') &&
typeof bodyTemplate === 'string' &&
bodyTemplate.length > 1
) {
text = Mustache.render(bodyTemplate, context); text = Mustache.render(bodyTemplate, context);
} else { } else {
text = `%%% \n ${this.msgFormatter.format(event).text} \n %%% `; text = `%%% \n ${this.msgFormatter.format(event).text} \n %%% `;

View File

@ -21,7 +21,7 @@ export const getAddons: (args: {
new SlackAddon({ getLogger, unleashUrl }), new SlackAddon({ getLogger, unleashUrl }),
new SlackAppAddon({ getLogger, unleashUrl }), new SlackAppAddon({ getLogger, unleashUrl }),
new TeamsAddon({ getLogger, unleashUrl }), new TeamsAddon({ getLogger, unleashUrl }),
new DatadogAddon({ getLogger, unleashUrl, flagResolver }), new DatadogAddon({ getLogger, unleashUrl }),
]; ];
return addons.reduce((map, addon) => { return addons.reduce((map, addon) => {

View File

@ -29,7 +29,6 @@ export type IFlagKey =
| 'accessOverview' | 'accessOverview'
| 'privateProjects' | 'privateProjects'
| 'dependentFeatures' | 'dependentFeatures'
| 'datadogJsonTemplate'
| 'disableMetrics' | 'disableMetrics'
| 'useLastSeenRefactor' | 'useLastSeenRefactor'
| 'banners' | 'banners'
@ -141,10 +140,6 @@ const flags: IFlags = {
process.env.UNLEASH_EXPERIMENTAL_ACCESS_OVERVIEW, process.env.UNLEASH_EXPERIMENTAL_ACCESS_OVERVIEW,
false, false,
), ),
datadogJsonTemplate: parseEnvVarBoolean(
process.env.UNLEASH_EXPERIMENTAL_DATADOG_JSON_TEMPLATE,
false,
),
disableMetrics: parseEnvVarBoolean( disableMetrics: parseEnvVarBoolean(
process.env.UNLEASH_EXPERIMENTAL_DISABLE_METRICS, process.env.UNLEASH_EXPERIMENTAL_DISABLE_METRICS,
false, false,

View File

@ -43,7 +43,6 @@ process.nextTick(async () => {
variantTypeNumber: true, variantTypeNumber: true,
privateProjects: true, privateProjects: true,
accessOverview: true, accessOverview: true,
datadogJsonTemplate: true,
dependentFeatures: true, dependentFeatures: true,
useLastSeenRefactor: true, useLastSeenRefactor: true,
disableEnvsOnRevive: true, disableEnvsOnRevive: true,