diff --git a/Common/Server/Services/IncidentService.ts b/Common/Server/Services/IncidentService.ts index 7e4c191ada..94a72122b1 100644 --- a/Common/Server/Services/IncidentService.ts +++ b/Common/Server/Services/IncidentService.ts @@ -1039,6 +1039,7 @@ ${incident.remediationNotes || "No remediation notes provided."} " was created.", createdItem.createdStateLog, onCreate.createBy.props, + createdItem.declaredAt || undefined, ); } } catch (error) { @@ -1693,6 +1694,7 @@ ${incidentSeverity.name} public async markMonitorsActiveForMonitoring( projectId: ObjectID, monitors: Array, + startsAt?: Date | undefined, ): Promise { // resolve all the monitors. @@ -1769,6 +1771,10 @@ ${incidentSeverity.name} monitorStatusTimeline.projectId = projectId!; monitorStatusTimeline.monitorStatusId = resolvedMonitorState.id!; + if (startsAt) { + monitorStatusTimeline.startsAt = startsAt; + } + await MonitorStatusTimelineService.create({ data: monitorStatusTimeline, props: { diff --git a/Common/Server/Services/IncidentStateTimelineService.ts b/Common/Server/Services/IncidentStateTimelineService.ts index 578b9b83a5..aade127305 100644 --- a/Common/Server/Services/IncidentStateTimelineService.ts +++ b/Common/Server/Services/IncidentStateTimelineService.ts @@ -497,6 +497,7 @@ ${createdItem.rootCause}`, await IncidentService.markMonitorsActiveForMonitoring( incident.projectId!, incident.monitors || [], + createdItem.startsAt || undefined, ); } } diff --git a/Common/Server/Services/MonitorService.ts b/Common/Server/Services/MonitorService.ts index 74d2367c9c..973326ccc5 100644 --- a/Common/Server/Services/MonitorService.ts +++ b/Common/Server/Services/MonitorService.ts @@ -1507,6 +1507,7 @@ ${createdItem.description?.trim() || "No description provided."} rootCause: string | undefined, statusChangeLog: JSONObject | undefined, props: DatabaseCommonInteractionProps, + startsAt?: Date | undefined, ): Promise { for (const monitorId of monitorIds) { // get last monitor status timeline. @@ -1552,6 +1553,10 @@ ${createdItem.description?.trim() || "No description provided."} statusTimeline.rootCause = rootCause; } + if (startsAt) { + statusTimeline.startsAt = startsAt; + } + await MonitorStatusTimelineService.create({ data: statusTimeline, props: props,