mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-04 00:18:01 +01:00
chore: improve release plan events and add them to event timeline (#8895)
https://linear.app/unleash/issue/2-3043/improve-release-plan-events-and-add-them-to-the-event-timeline Improves release plan events and adds them to the event timeline. This will break the events in Enterprise but that's okay, we can follow up with the Enterprise PR to fix them. ![image](https://github.com/user-attachments/assets/862818a5-d9bf-4006-beca-786fd6265759)
This commit is contained in:
parent
772f9f4f81
commit
c6668b411b
@ -99,6 +99,9 @@ const RELEVANT_EVENT_TYPES: EventSchemaType[] = [
|
||||
'feature-strategy-remove',
|
||||
'feature-environment-enabled',
|
||||
'feature-environment-disabled',
|
||||
'release-plan-added',
|
||||
'release-plan-removed',
|
||||
'release-plan-milestone-started',
|
||||
];
|
||||
|
||||
const toISODateString = (date: Date) => date.toISOString().split('T')[0];
|
||||
|
@ -59,7 +59,11 @@ const getEventIcon = ({ icon, type }: Pick<TimelineEvent, 'icon' | 'type'>) => {
|
||||
if (type === 'feature-environment-disabled') {
|
||||
return <ToggleOffIcon />;
|
||||
}
|
||||
if (type.startsWith('strategy-') || type.startsWith('feature-strategy-')) {
|
||||
if (
|
||||
type.startsWith('strategy-') ||
|
||||
type.startsWith('feature-strategy-') ||
|
||||
type.startsWith('release-plan-')
|
||||
) {
|
||||
return (
|
||||
<ExtensionOutlinedIcon
|
||||
sx={{ marginTop: '-2px', marginRight: '-2px' }}
|
||||
|
@ -58,6 +58,9 @@ import {
|
||||
CHANGE_REQUEST_SCHEDULE_SUSPENDED,
|
||||
FEATURE_COMPLETED,
|
||||
PROJECT_ARCHIVED,
|
||||
RELEASE_PLAN_ADDED,
|
||||
RELEASE_PLAN_REMOVED,
|
||||
RELEASE_PLAN_MILESTONE_STARTED,
|
||||
} from '../types';
|
||||
|
||||
interface IEventData {
|
||||
@ -362,4 +365,19 @@ export const EVENT_MAP: Record<string, IEventData> = {
|
||||
action: '{{b}}{{user}}{{b}} updated user {{b}}{{event.preData.name}}{{b}}',
|
||||
path: '/admin/users',
|
||||
},
|
||||
[RELEASE_PLAN_ADDED]: {
|
||||
label: 'Release plan added',
|
||||
action: '{{b}}{{user}}{{b}} added release plan {{b}}{{event.data.name}}{{b}} to {{b}}{{feature}}{{b}} for the {{b}}{{event.environment}}{{b}} environment in project {{b}}{{project}}{{b}}',
|
||||
path: '/projects/{{event.project}}/features/{{event.featureName}}',
|
||||
},
|
||||
[RELEASE_PLAN_REMOVED]: {
|
||||
label: 'Release plan removed',
|
||||
action: '{{b}}{{user}}{{b}} removed release plan {{b}}{{event.preData.name}}{{b}} from {{b}}{{feature}}{{b}} for the {{b}}{{event.environment}}{{b}} environment in project {{b}}{{project}}{{b}}',
|
||||
path: '/projects/{{event.project}}/features/{{event.featureName}}',
|
||||
},
|
||||
[RELEASE_PLAN_MILESTONE_STARTED]: {
|
||||
label: 'Release plan milestone started',
|
||||
action: '{{b}}{{user}}{{b}} started milestone {{b}}{{event.data.milestoneName}}{{b}} in release plan {{b}}{{event.data.name}}{{b}} for {{b}}{{feature}}{{b}} for the {{b}}{{event.environment}}{{b}} environment in project {{b}}{{project}}{{b}}',
|
||||
path: '/projects/{{event.project}}/features/{{event.featureName}}',
|
||||
},
|
||||
};
|
||||
|
@ -2067,36 +2067,63 @@ export class ReleasePlanTemplateDeletedEvent extends BaseEvent {
|
||||
}
|
||||
|
||||
export class ReleasePlanAddedEvent extends BaseEvent {
|
||||
readonly project: string;
|
||||
readonly featureName: string;
|
||||
readonly environment: string;
|
||||
readonly data: any;
|
||||
constructor(eventData: {
|
||||
project: string;
|
||||
featureName: string;
|
||||
environment: string;
|
||||
data: any;
|
||||
auditUser: IAuditUser;
|
||||
}) {
|
||||
super(RELEASE_PLAN_ADDED, eventData.auditUser);
|
||||
this.project = eventData.project;
|
||||
this.featureName = eventData.featureName;
|
||||
this.environment = eventData.environment;
|
||||
this.data = eventData.data;
|
||||
}
|
||||
}
|
||||
|
||||
export class ReleasePlanRemovedEvent extends BaseEvent {
|
||||
readonly project: string;
|
||||
readonly featureName: string;
|
||||
readonly environment: string;
|
||||
readonly preData: any;
|
||||
constructor(eventData: {
|
||||
project: string;
|
||||
featureName: string;
|
||||
environment: string;
|
||||
preData: any;
|
||||
auditUser: IAuditUser;
|
||||
}) {
|
||||
super(RELEASE_PLAN_REMOVED, eventData.auditUser);
|
||||
this.project = eventData.project;
|
||||
this.featureName = eventData.featureName;
|
||||
this.environment = eventData.environment;
|
||||
this.preData = eventData.preData;
|
||||
}
|
||||
}
|
||||
|
||||
export class ReleasePlanMilestoneStartedEvent extends BaseEvent {
|
||||
readonly project: string;
|
||||
readonly featureName: string;
|
||||
readonly environment: string;
|
||||
readonly preData: any;
|
||||
readonly data: any;
|
||||
constructor(eventData: {
|
||||
project: string;
|
||||
featureName: string;
|
||||
environment: string;
|
||||
preData: any;
|
||||
data: any;
|
||||
auditUser: IAuditUser;
|
||||
}) {
|
||||
super(RELEASE_PLAN_MILESTONE_STARTED, eventData.auditUser);
|
||||
this.project = eventData.project;
|
||||
this.featureName = eventData.featureName;
|
||||
this.environment = eventData.environment;
|
||||
this.preData = eventData.preData;
|
||||
this.data = eventData.data;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user