keephq / keep

The open-source alert management and AIOps platform
https://platform.keephq.dev
Other
3.21k stars 241 forks source link

[➕ Feature]: Merging of Incidents #1539

Open Matvey-Kuk opened 1 month ago

Matvey-Kuk commented 1 month ago

If there are 2 incidents which are accidentally raised for the same reason, there should be an ability to merge them.

frwl404 commented 1 month ago

@Matvey-Kuk, could you please asign it to me?

Matvey-Kuk commented 1 month ago

With pleasure! @achivkun

frwl404 commented 1 month ago

It looks like for now I have less time than expected for this activity. I started to look at this yesterday, even did something, but then discovered that I most probably went wrong direction. @Matvey-Kuk please let me ask to clarify few things before I'll go further: 1) When we do merge - should we remove original incidents automatically (I guess this was the idea)? Alternative is to keep them, but make linked to new incident as children. Later user may decide if he/she wants to remove them or no. Second alrernative requires to add new field to Incident model to setup relation between incidents. I went second way initially, but then realized that first one is most probably those what was initially supposed here. But at the same time second alternative (when we keep original incidents) makes it easier to implement following requirement:

The old Incident link should work since users send incident links to each other.

2) Regarding this requirement:

There should be a record in the DB that incidents are merged to the new one.

Is there some specific table for this purpose, which is already exists? Or we have to add kind of "Audit/Timeline" table, which will store different events and their relation to certain object(s)? In UI I see Timeline section, which is marked as Coming Soon... and I feel that this is the good place where this info can be placed, but I didn't find corresponding table on DB level. We have AlertAudit, but not IncidentAudit.

frwl404 commented 2 weeks ago

My vacation has ended last week, I have no time to work on this ticket anymore. Please feel free to re-assign it.