diff --git a/internal/processor/action/incident_update_type_action.go b/internal/processor/action/incident_update_type_action.go index 8c445dd..05b1801 100644 --- a/internal/processor/action/incident_update_type_action.go +++ b/internal/processor/action/incident_update_type_action.go @@ -110,30 +110,25 @@ func (itp *IncidentUpdateTypeAction) IncidentUpdateType(callback slack.Interacti return } - errMessage := util.PostIncidentTypeUpdateMessage( - user.ID, teamEntity.Name, severityEntity.Name, severityEntity.Description, - incidentEntity.IncidentName, incidentEntity.Title, callback.View.PrivateMetadata, itp.socketModeClient) - if errMessage != nil { - itp.logger.Error("post response failed for IncidentUpdateType", zap.Error(errMessage)) - return - } - - if errMessage != nil { - itp.logger.Error("post response failed for IncidentUpdateType", zap.Error(errMessage)) - return - } - - if len(teamEntity.ConfluenceLink) > 1 { - textForConfluence := fmt.Sprintf("*%s* -> <%s| Confluence Page>", teamEntity.Name, teamEntity.ConfluenceLink) - _, _, errMessage := itp.socketModeClient.PostMessage(callback.View.PrivateMetadata, slack.MsgOptionText(textForConfluence, false)) + go func() { + errMessage := util.PostIncidentTypeUpdateMessage( + user.ID, teamEntity.Name, severityEntity.Name, severityEntity.Description, + incidentEntity.IncidentName, incidentEntity.Title, callback.View.PrivateMetadata, itp.socketModeClient) if errMessage != nil { - itp.logger.Error("post response failed for IncidentUpdateType Confluence message", zap.Error(errMessage)) + itp.logger.Error("post response failed for IncidentUpdateType", zap.Error(errMessage)) return } - } - - topic := fmt.Sprintf("%s-%s(%s) Incident-%d | %s", teamEntity.Name, severityEntity.Name, severityEntity.Description, incidentEntity.ID, incidentEntity.Title) - itp.slackbotClient.SetChannelTopic(callback.View.PrivateMetadata, topic) + if len(teamEntity.ConfluenceLink) > 1 { + textForConfluence := fmt.Sprintf("*%s* -> <%s| Confluence Page>", teamEntity.Name, teamEntity.ConfluenceLink) + _, _, errMessage := itp.socketModeClient.PostMessage(callback.View.PrivateMetadata, slack.MsgOptionText(textForConfluence, false)) + if errMessage != nil { + itp.logger.Error("post response failed for IncidentUpdateType Confluence message", zap.Error(errMessage)) + return + } + } + topic := fmt.Sprintf("%s-%s(%s) Incident-%d | %s", teamEntity.Name, severityEntity.Name, severityEntity.Description, incidentEntity.ID, incidentEntity.Title) + itp.slackbotClient.SetChannelTopic(callback.View.PrivateMetadata, topic) + }() var payload interface{} itp.socketModeClient.Ack(*request, payload)