diff --git a/src/lib/addons/datadog-definition.ts b/src/lib/addons/datadog-definition.ts index b6db754d9a..96833455bd 100644 --- a/src/lib/addons/datadog-definition.ts +++ b/src/lib/addons/datadog-definition.ts @@ -13,6 +13,7 @@ import { FEATURE_METADATA_UPDATED, FEATURE_PROJECT_CHANGE, FEATURE_VARIANTS_UPDATED, + FEATURE_POTENTIALLY_STALE_ON, } from '../types/events'; import { IAddonDefinition } from '../types/model'; @@ -77,6 +78,7 @@ const dataDogDefinition: IAddonDefinition = { FEATURE_METADATA_UPDATED, FEATURE_PROJECT_CHANGE, FEATURE_VARIANTS_UPDATED, + FEATURE_POTENTIALLY_STALE_ON, ], tagTypes: [ { diff --git a/src/lib/addons/feature-event-formatter-md.ts b/src/lib/addons/feature-event-formatter-md.ts index a6cc4ed726..95a339ff7f 100644 --- a/src/lib/addons/feature-event-formatter-md.ts +++ b/src/lib/addons/feature-event-formatter-md.ts @@ -4,6 +4,7 @@ import { FEATURE_ENVIRONMENT_DISABLED, FEATURE_ENVIRONMENT_ENABLED, FEATURE_METADATA_UPDATED, + FEATURE_POTENTIALLY_STALE_ON, FEATURE_PROJECT_CHANGE, FEATURE_REVIVED, FEATURE_STALE_OFF, @@ -301,6 +302,13 @@ export class FeatureEventFormatterMd implements FeatureEventFormatter { return `${createdBy} moved ${featureName} to ${project}`; } + generateFeaturePotentiallyStaleOnText(event: IEvent): string { + const { project, createdBy } = event; + const feature = this.generateFeatureLink(event); + + return `${createdBy} marked feature toggle *${feature}* (in project *${project}*) as *potentially stale*.`; + } + featureLink(event: IEvent): string { const { type, project = '', featureName } = event; if (type === FEATURE_ARCHIVED) { @@ -354,6 +362,8 @@ export class FeatureEventFormatterMd implements FeatureEventFormatter { return this.generateMetadataText(event); case FEATURE_PROJECT_CHANGE: return this.generateProjectChangeText(event); + case FEATURE_POTENTIALLY_STALE_ON: + return this.generateFeaturePotentiallyStaleOnText(event); default: return this.defaultText(event); } diff --git a/src/lib/addons/slack-app-definition.ts b/src/lib/addons/slack-app-definition.ts index 569bba35fd..d25b8cd6d6 100644 --- a/src/lib/addons/slack-app-definition.ts +++ b/src/lib/addons/slack-app-definition.ts @@ -13,6 +13,7 @@ import { FEATURE_METADATA_UPDATED, FEATURE_PROJECT_CHANGE, FEATURE_VARIANTS_UPDATED, + FEATURE_POTENTIALLY_STALE_ON, } from '../types/events'; import { IAddonDefinition } from '../types/model'; @@ -63,6 +64,7 @@ const slackAppDefinition: IAddonDefinition = { FEATURE_METADATA_UPDATED, FEATURE_VARIANTS_UPDATED, FEATURE_PROJECT_CHANGE, + FEATURE_POTENTIALLY_STALE_ON, ], tagTypes: [ { diff --git a/src/lib/addons/slack-definition.ts b/src/lib/addons/slack-definition.ts index d6b79211ec..c5e0e28f4d 100644 --- a/src/lib/addons/slack-definition.ts +++ b/src/lib/addons/slack-definition.ts @@ -13,6 +13,7 @@ import { FEATURE_METADATA_UPDATED, FEATURE_PROJECT_CHANGE, FEATURE_VARIANTS_UPDATED, + FEATURE_POTENTIALLY_STALE_ON, } from '../types/events'; import { IAddonDefinition } from '../types/model'; @@ -87,6 +88,7 @@ const slackDefinition: IAddonDefinition = { FEATURE_METADATA_UPDATED, FEATURE_VARIANTS_UPDATED, FEATURE_PROJECT_CHANGE, + FEATURE_POTENTIALLY_STALE_ON, ], tagTypes: [ { diff --git a/src/lib/addons/teams-definition.ts b/src/lib/addons/teams-definition.ts index b37c3a1c8b..707607ebef 100644 --- a/src/lib/addons/teams-definition.ts +++ b/src/lib/addons/teams-definition.ts @@ -13,6 +13,7 @@ import { FEATURE_METADATA_UPDATED, FEATURE_PROJECT_CHANGE, FEATURE_VARIANTS_UPDATED, + FEATURE_POTENTIALLY_STALE_ON, } from '../types/events'; import { IAddonDefinition } from '../types/model'; @@ -58,6 +59,7 @@ const teamsDefinition: IAddonDefinition = { FEATURE_METADATA_UPDATED, FEATURE_VARIANTS_UPDATED, FEATURE_PROJECT_CHANGE, + FEATURE_POTENTIALLY_STALE_ON, ], }; diff --git a/src/lib/addons/webhook-definition.ts b/src/lib/addons/webhook-definition.ts index f85a1f0a0a..9ee4bec4b0 100644 --- a/src/lib/addons/webhook-definition.ts +++ b/src/lib/addons/webhook-definition.ts @@ -24,6 +24,7 @@ import { CHANGE_REQUEST_CANCELLED, CHANGE_REQUEST_SENT_TO_REVIEW, CHANGE_REQUEST_APPLIED, + FEATURE_POTENTIALLY_STALE_ON, } from '../types/events'; import { IAddonDefinition } from '../types/model'; @@ -117,6 +118,7 @@ const webhookDefinition: IAddonDefinition = { CHANGE_REQUEST_CANCELLED, CHANGE_REQUEST_SENT_TO_REVIEW, CHANGE_REQUEST_APPLIED, + FEATURE_POTENTIALLY_STALE_ON, ], };