This is an automated email from the ASF dual-hosted git repository.

tomsun28 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git


The following commit(s) were added to refs/heads/master by this push:
     new 4e05f393c7 fix(alerter): include queryLanguage field in alert define 
export and import (#4256) (#4418)
4e05f393c7 is described below

commit 4e05f393c7beef80fbe5b0e993f22c6e09a57f95
Author: Madhav Rakhonde <[email protected]>
AuthorDate: Mon Oct 5 07:56:28 2026 +0530

    fix(alerter): include queryLanguage field in alert define export and import 
(#4256) (#4418)
    
    Co-authored-by: Tomsun28 <[email protected]>
---
 .../main/java/org/apache/hertzbeat/alert/dto/AlertDefineDTO.java    | 2 ++
 .../alert/service/impl/AlertDefineAbstractImExportServiceImpl.java  | 6 ++++++
 .../alert/service/impl/AlertDefineExcelImExportServiceImpl.java     | 6 +++++-
 .../hertzbeat/alert/service/AlertDefineJsonImExportServiceTest.java | 1 +
 4 files changed, 14 insertions(+), 1 deletion(-)

diff --git 
a/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/dto/AlertDefineDTO.java
 
b/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/dto/AlertDefineDTO.java
index 674ee9deb3..160837b497 100644
--- 
a/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/dto/AlertDefineDTO.java
+++ 
b/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/dto/AlertDefineDTO.java
@@ -53,4 +53,6 @@ public class AlertDefineDTO {
     private Boolean enable;
     @Excel(name = "Datasource")
     private String datasource;
+    @Excel(name = "QueryLanguage")
+    private String queryLanguage;
 }
diff --git 
a/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineAbstractImExportServiceImpl.java
 
b/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineAbstractImExportServiceImpl.java
index de7c85eb16..e9112194ac 100644
--- 
a/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineAbstractImExportServiceImpl.java
+++ 
b/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineAbstractImExportServiceImpl.java
@@ -91,6 +91,9 @@ public abstract class AlertDefineAbstractImExportServiceImpl 
implements AlertDef
         var exportAlertDefine = new ExportAlertDefineDTO();
         var alertDefineDTO = new AlertDefineDTO();
         BeanUtils.copyProperties(alertDefine, alertDefineDTO);
+        if (alertDefineDTO.getQueryLanguage() == null && 
alertDefine.getDatasource() != null) {
+            alertDefineDTO.setQueryLanguage(alertDefine.getDatasource());
+        }
         exportAlertDefine.setAlertDefine(alertDefineDTO);
         return exportAlertDefine;
     }
@@ -99,6 +102,9 @@ public abstract class AlertDefineAbstractImExportServiceImpl 
implements AlertDef
         var alertDefine = new AlertDefine();
         var alertDefineDTO = exportAlertDefineDTO.getAlertDefine();
         BeanUtils.copyProperties(alertDefineDTO, alertDefine);
+        if (alertDefine.getDatasource() == null && 
alertDefineDTO.getQueryLanguage() != null) {
+            alertDefine.setDatasource(alertDefineDTO.getQueryLanguage());
+        }
         return alertDefine;
     }
 
diff --git 
a/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineExcelImExportServiceImpl.java
 
b/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineExcelImExportServiceImpl.java
index ca6af4f41c..22ff748e6d 100644
--- 
a/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineExcelImExportServiceImpl.java
+++ 
b/hertzbeat-alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineExcelImExportServiceImpl.java
@@ -156,6 +156,7 @@ public class AlertDefineExcelImExportServiceImpl extends 
AlertDefineAbstractImEx
         alertDefineDTO.setTemplate(getCellValueAsString(row.getCell(7)));
         alertDefineDTO.setEnable(getCellValueAsBoolean(row.getCell(8)));
         alertDefineDTO.setDatasource(getCellValueAsString(row.getCell(9)));
+        alertDefineDTO.setQueryLanguage(getCellValueAsString(row.getCell(10)));
         return alertDefineDTO;
     }
 
@@ -187,7 +188,7 @@ public class AlertDefineExcelImExportServiceImpl extends 
AlertDefineAbstractImEx
             CellStyle cellStyle = workbook.createCellStyle();
             cellStyle.setAlignment(HorizontalAlignment.CENTER);
             // set header
-            String[] headers = {"Name", "Type", "Expr", "Period", "Times", 
"Labels", "Annotations", "Template", "Enable", "Datasource"};
+            String[] headers = {"Name", "Type", "Expr", "Period", "Times", 
"Labels", "Annotations", "Template", "Enable", "Datasource", "QueryLanguage"};
             Row headerRow = sheet.createRow(0);
             for (int i = 0; i < headers.length; i++) {
                 Cell cell = headerRow.createCell(i);
@@ -231,6 +232,9 @@ public class AlertDefineExcelImExportServiceImpl extends 
AlertDefineAbstractImEx
                 Cell datasourceCell = row.createCell(9);
                 datasourceCell.setCellValue(alertDefineDTO.getDatasource());
                 datasourceCell.setCellStyle(cellStyle);
+                Cell queryLanguageCell = row.createCell(10);
+                
queryLanguageCell.setCellValue(alertDefineDTO.getQueryLanguage() != null ? 
alertDefineDTO.getQueryLanguage() : alertDefineDTO.getDatasource());
+                queryLanguageCell.setCellStyle(cellStyle);
             }
             workbook.write(os);
             os.close();
diff --git 
a/hertzbeat-alerter/src/test/java/org/apache/hertzbeat/alert/service/AlertDefineJsonImExportServiceTest.java
 
b/hertzbeat-alerter/src/test/java/org/apache/hertzbeat/alert/service/AlertDefineJsonImExportServiceTest.java
index 9674f6ec8b..abfbbc8ca4 100644
--- 
a/hertzbeat-alerter/src/test/java/org/apache/hertzbeat/alert/service/AlertDefineJsonImExportServiceTest.java
+++ 
b/hertzbeat-alerter/src/test/java/org/apache/hertzbeat/alert/service/AlertDefineJsonImExportServiceTest.java
@@ -126,6 +126,7 @@ class AlertDefineJsonImExportServiceTest {
 
         String result = outputStream.toString(StandardCharsets.UTF_8);
         assertTrue(result.contains("promql"), "exported config should keep 
datasource, but got: " + result);
+        assertTrue(result.contains("queryLanguage"), "exported config should 
include queryLanguage, but got: " + result);
     }
 
     @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to