From 2d4a4d83e2bb884cd02f5ce11524104bb3aba02a Mon Sep 17 00:00:00 2001 From: Tushar Kumar Saha Date: Tue, 20 Jun 2023 15:14:15 +0530 Subject: [PATCH] Grafana api (#104) * TP-27996 | use grafana api to fetch dashboard screenshot --- internal/diagnostic/screenshot.go | 27 ++++++++++++------- internal/processor/slash_command_processor.go | 2 +- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/internal/diagnostic/screenshot.go b/internal/diagnostic/screenshot.go index b761969..4913c92 100644 --- a/internal/diagnostic/screenshot.go +++ b/internal/diagnostic/screenshot.go @@ -65,7 +65,11 @@ func takeScreenShotUrl(logger *zap.Logger, fileList *[]string, url string) { } defer file.Close() _, err = io.Copy(file, resp.Body) - link := upload(logger, fileName) + link, err := upload(logger, fileName) + if err != nil { + return + } + os.Remove(fileName) *fileList = append(*fileList, link) } @@ -86,24 +90,27 @@ func takeScreenShot(logger *zap.Logger, fileList *[]string, url string) { if err := os.WriteFile(fileName, buf, 0644); err != nil { logger.Fatal(err.Error()) } - link := upload(logger, fileName) + link, err := upload(logger, fileName) + if err != nil { + logger.Error("failed", zap.Error(err)) + return + } os.Remove(fileName) *fileList = append(*fileList, link) } -func upload(logger *zap.Logger, fileName string) string { +func upload(logger *zap.Logger, fileName string) (string, error) { s3Operations := s3.NewS3Operations(logger) s3BucketName := viper.GetString("S3_BUCKET_NAME") - _, err := s3Operations.UploadFile(s3BucketName, filepath.Join(), fileName, fileName) + output, err := s3Operations.UploadFile(s3BucketName, filepath.Join(), fileName, fileName) link, err := s3Operations.GetFileLink(s3BucketName, fileName) if err != nil { - logger.Info("upload failed") - logger.Fatal(err.Error()) - } else { - logger.Info("upload success") - logger.Info(link) + logger.Error("upload failed", zap.Error(err), zap.Any("output", output)) + return "", err } - return link + + logger.Info("upload success", zap.String("link", link), zap.Any("s3_output", output), zap.Error(err)) + return link, nil } func setHeaders(host string, imageBuf *[]byte) chromedp.Tasks { diff --git a/internal/processor/slash_command_processor.go b/internal/processor/slash_command_processor.go index ef74b8a..f4daf84 100644 --- a/internal/processor/slash_command_processor.go +++ b/internal/processor/slash_command_processor.go @@ -37,7 +37,7 @@ func NewDiagnosticCommandProcessor(logger *zap.Logger, socketModeClient *socketm diagnosticCommandActions: []action.DiagnosticCommandActionHandler{ action.NewGrafanaActionHandler(logger, socketModeClient, repository), //action.NewKibanaActionHandler(logger, socketModeClient), - action.NewDeploymentPortalActionHandler(logger, socketModeClient, repository), + //action.NewDeploymentPortalActionHandler(logger, socketModeClient, repository), }, } }