TP-47360 : Created service for uploading slack conversations to s3 and send request to maverick for generating RCA (#290)
* TP-47360| created services to upload slack conversation to cloud and send urls to generate RCA * created rca input repository * TP-47360| enabled generating rca service on resolution * resolved merge conflicts * TP-47360| added migration script for creating rca input table * changed json response structure according to contract * added unit tests * removed api to make gen ai call * made changes in message format posted in slack * changed entity struct and adding flag to enable rca generation * attaching title, description and replies related to incident status block * made design changes in message format
This commit is contained in:
committed by
GitHub
parent
a1d3d0dc39
commit
2dd4d710e5
@@ -14,8 +14,13 @@ import (
|
||||
"houston/model/tag"
|
||||
"houston/model/team"
|
||||
"houston/model/user"
|
||||
"houston/pkg/rest"
|
||||
"houston/pkg/slackbot"
|
||||
rcaRepository "houston/repository/rca/impl"
|
||||
"houston/repository/rcaInput"
|
||||
"houston/service/documentService"
|
||||
incidentServiceV2 "houston/service/incident"
|
||||
"houston/service/rca"
|
||||
slack2 "houston/service/slack"
|
||||
|
||||
"github.com/slack-go/slack"
|
||||
@@ -52,6 +57,12 @@ func NewSlackHandler(gormClient *gorm.DB, socketModeClient *socketmode.Client) *
|
||||
diagnosticCommandProcessor := processor.NewDiagnosticCommandProcessor(socketModeClient, grafanaRepository)
|
||||
incidentServiceV2 := incidentServiceV2.NewIncidentServiceV2(gormClient)
|
||||
slackService := slack2.NewSlackService()
|
||||
// new services
|
||||
rcaRepository := rcaRepository.NewRcaRepository(gormClient)
|
||||
rcaInputRepository := rcaInput.NewRcaInputRepository(gormClient)
|
||||
restClient := rest.NewClientActionsImpl()
|
||||
documentService := documentService.NewActionsImpl(restClient)
|
||||
rcaService := rca.NewRcaService(incidentServiceV2, slackService, restClient, documentService, rcaRepository, rcaInputRepository, userService)
|
||||
|
||||
cron.RunJob(
|
||||
socketModeClient,
|
||||
@@ -73,7 +84,7 @@ func NewSlackHandler(gormClient *gorm.DB, socketModeClient *socketmode.Client) *
|
||||
socketModeClient, incidentService, teamService, severityService,
|
||||
),
|
||||
blockActionProcessor: processor.NewBlockActionProcessor(
|
||||
socketModeClient, incidentService, teamService, severityService, tagService, slackbotClient, incidentServiceV2, slackService,
|
||||
socketModeClient, incidentService, teamService, severityService, tagService, slackbotClient, incidentServiceV2, slackService, rcaService,
|
||||
),
|
||||
viewSubmissionProcessor: processor.NewViewSubmissionProcessor(
|
||||
socketModeClient, incidentService, teamService, severityService, tagService, teamService, slackbotClient, gormClient,
|
||||
|
||||
@@ -11,9 +11,13 @@ import (
|
||||
"houston/internal/metrics"
|
||||
"houston/logger"
|
||||
"houston/model/ingester"
|
||||
"houston/model/user"
|
||||
"houston/pkg/rest"
|
||||
"houston/pkg/slackbot"
|
||||
rcaRepository "houston/repository/rca/impl"
|
||||
"houston/repository/rcaInput"
|
||||
"houston/service"
|
||||
"houston/service/documentService"
|
||||
"houston/service/incident"
|
||||
"houston/service/rca"
|
||||
"houston/service/slack"
|
||||
@@ -158,7 +162,11 @@ func (s *Server) rcaHandler(houstonGroup *gin.RouterGroup) {
|
||||
slackService := slack.NewSlackService()
|
||||
incidentServiceV2 := incident.NewIncidentServiceV2(s.db)
|
||||
rcaRepository := rcaRepository.NewRcaRepository(s.db)
|
||||
rcaService := rca.NewRcaService(incidentServiceV2, slackService, rcaRepository)
|
||||
rcaInputRepository := rcaInput.NewRcaInputRepository(s.db)
|
||||
restClient := rest.NewClientActionsImpl()
|
||||
documentService := documentService.NewActionsImpl(restClient)
|
||||
userRepository := user.NewUserRepository(s.db)
|
||||
rcaService := rca.NewRcaService(incidentServiceV2, slackService, restClient, documentService, rcaRepository, rcaInputRepository, userRepository)
|
||||
rcaHandler := handler.NewRcaHandler(s.gin, rcaService)
|
||||
|
||||
houstonGroup.POST("/rca", rcaHandler.HandlePostRca)
|
||||
|
||||
Reference in New Issue
Block a user