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

Feat(#4205): add potentially stale events to addons (#4279)

This PR adds potentially stale events as available to all addons and
adds a formatted message.

## Discussion

I'd still be interested in hearing input on whether the event type
should be selectable by addons or not before we start emitting the
event. I'm leaning towards "yes", but I'll take your thoughts into
consideration.
This commit is contained in:
Thomas Heartman 2023-07-19 15:52:19 +02:00 committed by GitHub
parent 4bca470543
commit fc25bc6b82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 20 additions and 0 deletions

View File

@ -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: [
{

View File

@ -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);
}

View File

@ -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: [
{

View File

@ -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: [
{

View File

@ -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,
],
};

View File

@ -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,
],
};