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

abeizn pushed a commit to branch release-v0.21
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/release-v0.21 by this push:
     new 00a8af16c fix: deployment dora dashboard (#6931) (#6942)
00a8af16c is described below

commit 00a8af16c1c14321e5cbfbdee0d796116357c25a
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Feb 8 21:51:51 2024 +0800

    fix: deployment dora dashboard (#6931) (#6942)
    
    * fix: deployment dora dashboard
    
    * fix: deployment dashbord add dora debug update
    
    * fix: some note
    
    * fix: adjust sql
    
    * fix: mysql id lint
    
    * fix: some bugs
    
    * fix: some note
    
    Co-authored-by: abeizn <[email protected]>
---
 ...mark.go => 20240207_add_dora_2023_benchmark.go} |   4 +-
 grafana/dashboards/DORA.json                       |  16 +-
 grafana/dashboards/DORAByTeam.json                 |  36 +-
 grafana/dashboards/DORADebug.json                  | 411 ++++++++++++++-------
 4 files changed, 307 insertions(+), 160 deletions(-)

diff --git 
a/backend/plugins/dora/models/migrationscripts/20240201_add_dora_2023_benchmark.go
 
b/backend/plugins/dora/models/migrationscripts/20240207_add_dora_2023_benchmark.go
similarity index 98%
rename from 
backend/plugins/dora/models/migrationscripts/20240201_add_dora_2023_benchmark.go
rename to 
backend/plugins/dora/models/migrationscripts/20240207_add_dora_2023_benchmark.go
index 4bd655360..adaece2ba 100644
--- 
a/backend/plugins/dora/models/migrationscripts/20240201_add_dora_2023_benchmark.go
+++ 
b/backend/plugins/dora/models/migrationscripts/20240207_add_dora_2023_benchmark.go
@@ -62,7 +62,7 @@ func (u *adddoraBenchmark2023) Up(baseRes context.BasicRes) 
errors.Error {
                Metric:     "Deployment frequency",
                Low:        "Fewer than once per six months(low)",
                Medium:     "Between once per month and once every 6 
months(medium)",
-               High:       "Between once per week and once per month(high)",
+               High:       "Between once per day and once per month(high)",
                Elite:      "On-demand(elite)",
                Benchmarks: "2021 report",
        }
@@ -185,7 +185,7 @@ func (u *adddoraBenchmark2023) Up(baseRes context.BasicRes) 
errors.Error {
 }
 
 func (*adddoraBenchmark2023) Version() uint64 {
-       return 20240201000002
+       return 20240207000002
 }
 
 func (*adddoraBenchmark2023) Name() string {
diff --git a/grafana/dashboards/DORA.json b/grafana/dashboards/DORA.json
index 895ce9d1e..835dc6c72 100644
--- a/grafana/dashboards/DORA.json
+++ b/grafana/dashboards/DORA.json
@@ -18,7 +18,7 @@
   "editable": true,
   "fiscalYearStartMonth": 0,
   "graphTooltip": 0,
-  "id": 35,
+  "id": 3,
   "links": [],
   "liveNow": false,
   "panels": [
@@ -41,7 +41,7 @@
           "showLineNumbers": false,
           "showMiniMap": false
         },
-        "content": "- See [how to 
config](https://devlake.apache.org/docs/DORA) this dashboard\n- Data Sources 
Required: \n  - `Deployments` from Jenkins, GitLab CI, GitHub Action, webhook, 
etc. \n  - `Pull Requests` from GitHub PRs, GitLab MRs, BitBucket PRs, Azure 
DevOps PRs, etc.\n  - `Incidents` from Jira issues, GitHub issues, TAPD issues, 
PagerDuty Incidents, etc. \n- Transformation Required: Define `deployments` and 
`incidents` in [data transformations](https://devlake.apache.org/ [...]
+        "content": "- See [how to 
config](https://devlake.apache.org/docs/DORA) this dashboard\n- Data Sources 
Required: \n  - `Deployments` from Jenkins, GitLab CI, GitHub Action, webhook, 
etc. \n  - `Pull Requests` from GitHub PRs, GitLab MRs, BitBucket PRs, Azure 
DevOps PRs, etc.\n  - `Incidents` from Jira issues, GitHub issues, TAPD issues, 
PagerDuty Incidents, etc. \n- Transformation Required: Define `deployments` and 
`incidents` in [data transformations](https://devlake.apache.org/ [...]
         "mode": "markdown"
       },
       "pluginVersion": "9.5.15",
@@ -205,7 +205,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "-- Metric 1: Deployment Frequency\nwith 
last_few_calendar_months as(\n-- construct the last few calendar months within 
the selected time period in the top-right corner\n\tSELECT 
CAST((SYSDATE()-INTERVAL (H+T+U) DAY) AS date) day\n\tFROM ( SELECT 0 
H\n\t\t\tUNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300\n\t\t) 
H CROSS JOIN ( SELECT 0 T\n\t\t\tUNION ALL SELECT  10 UNION ALL SELECT  20 
UNION ALL SELECT  30\n\t\t\tUNION ALL SELECT  40 UNION ALL SELECT  50 [...]
+          "rawSql": "-- Metric 1: Deployment Frequency\nwith 
last_few_calendar_months as(\n-- construct the last few calendar months within 
the selected time period in the top-right corner\n\tSELECT 
CAST((SYSDATE()-INTERVAL (H+T+U) DAY) AS date) day\n\tFROM ( SELECT 0 
H\n\t\t\tUNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300\n\t\t) 
H CROSS JOIN ( SELECT 0 T\n\t\t\tUNION ALL SELECT  10 UNION ALL SELECT  20 
UNION ALL SELECT  30\n\t\t\tUNION ALL SELECT  40 UNION ALL SELECT  50 [...]
           "refId": "A",
           "select": [
             [
@@ -343,7 +343,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "-- Metric 1: Deployment Frequency\nwith 
last_few_calendar_months as(\n-- construct the last few calendar months within 
the selected time period in the top-right corner\n\tSELECT 
CAST((SYSDATE()-INTERVAL (H+T+U) DAY) AS date) day\n\tFROM ( SELECT 0 
H\n\t\t\tUNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300\n\t\t) 
H CROSS JOIN ( SELECT 0 T\n\t\t\tUNION ALL SELECT  10 UNION ALL SELECT  20 
UNION ALL SELECT  30\n\t\t\tUNION ALL SELECT  40 UNION ALL SELECT  50 [...]
+          "rawSql": "-- Metric 1: Deployment Frequency\nwith 
last_few_calendar_months as(\n-- construct the last few calendar months within 
the selected time period in the top-right corner\n\tSELECT 
CAST((SYSDATE()-INTERVAL (H+T+U) DAY) AS date) day\n\tFROM ( SELECT 0 
H\n\t\t\tUNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300\n\t\t) 
H CROSS JOIN ( SELECT 0 T\n\t\t\tUNION ALL SELECT  10 UNION ALL SELECT  20 
UNION ALL SELECT  30\n\t\t\tUNION ALL SELECT  40 UNION ALL SELECT  50 [...]
           "refId": "A",
           "select": [
             [
@@ -481,7 +481,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "-- Metric 2: median lead time for changes\nwith _pr_stats 
as (\n-- get the cycle time of PRs deployed by the deployments finished in the 
selected period\n\tSELECT\n\t\tdistinct 
pr.id,\n\t\tppm.pr_cycle_time\n\tFROM\n\t\tpull_requests pr \n\t\tjoin 
project_pr_metrics ppm on ppm.id = pr.id\n\t\tjoin project_mapping pm on 
pr.base_repo_id = pm.row_id and pm.`table` = 'repos'\n\t\tjoin 
cicd_deployment_commits cdc on ppm.deployment_commit_id = cdc.id\n\tWHERE\n\t  
pm.proje [...]
+          "rawSql": "-- Metric 2: median lead time for changes\nwith _pr_stats 
as (\n-- get the cycle time of PRs deployed by the deployments finished in the 
selected period\n\tSELECT\n\t\tdistinct 
pr.id,\n\t\tppm.pr_cycle_time\n\tFROM\n\t\tpull_requests pr \n\t\tjoin 
project_pr_metrics ppm on ppm.id = pr.id\n\t\tjoin project_mapping pm on 
pr.base_repo_id = pm.row_id and pm.`table` = 'repos'\n\t\tjoin 
cicd_deployment_commits cdc on ppm.deployment_commit_id = cdc.id\n\tWHERE\n\t  
pm.proje [...]
           "refId": "A",
           "select": [
             [
@@ -623,7 +623,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "-- Metric 3: Median time to restore service \nwith 
_incidents as (\n-- get the incidents created within the selected time period 
in the top-right corner\n\tSELECT\n\t  distinct 
i.id,\n\t\tcast(lead_time_minutes as signed) as 
lead_time_minutes\n\tFROM\n\t\tissues i\n\t  join board_issues bi on i.id = 
bi.issue_id\n\t  join boards b on bi.board_id = b.id\n\t  join project_mapping 
pm on b.id = pm.row_id and pm.`table` = 'boards'\n\tWHERE\n\t  pm.project_name 
in (${projec [...]
+          "rawSql": "-- Metric 3: Median time to restore service \nwith 
_incidents as (\n-- get the incidents created within the selected time period 
in the top-right corner\n\tSELECT\n\t  distinct 
i.id,\n\t\tcast(lead_time_minutes as signed) as 
lead_time_minutes\n\tFROM\n\t\tissues i\n\t  join board_issues bi on i.id = 
bi.issue_id\n\t  join boards b on bi.board_id = b.id\n\t  join project_mapping 
pm on b.id = pm.row_id and pm.`table` = 'boards'\n\tWHERE\n\t  pm.project_name 
in (${projec [...]
           "refId": "A",
           "select": [
             [
@@ -761,7 +761,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "-- Metric 4: change failure rate\nwith _deployments as 
(\n-- When deploying multiple commits in one pipeline, GitLab and BitBucket may 
generate more than one deployment. However, DevLake consider these deployments 
as ONE production deployment and use the last one's finished_date as the 
finished date.\n\tSELECT\n\t\tcdc.cicd_deployment_id as 
deployment_id,\n\t\tmax(cdc.finished_date) as deployment_finished_date\n\tFROM 
\n\t\tcicd_deployment_commits cdc\n\t\tJOIN proje [...]
+          "rawSql": "-- Metric 4: change failure rate\nwith _deployments as 
(\n-- When deploying multiple commits in one pipeline, GitLab and BitBucket may 
generate more than one deployment. However, DevLake consider these deployments 
as ONE production deployment and use the last one's finished_date as the 
finished date.\n\tSELECT\n\t\tcdc.cicd_deployment_id as 
deployment_id,\n\t\tmax(cdc.finished_date) as deployment_finished_date\n\tFROM 
\n\t\tcicd_deployment_commits cdc\n\t\tJOIN proje [...]
           "refId": "A",
           "select": [
             [
@@ -1345,6 +1345,6 @@
   "timezone": "",
   "title": "DORA",
   "uid": "qNo8_0M4z",
-  "version": 37,
+  "version": 22,
   "weekStart": ""
 }
\ No newline at end of file
diff --git a/grafana/dashboards/DORAByTeam.json 
b/grafana/dashboards/DORAByTeam.json
index 7f494562c..c5f2c0cd6 100644
--- a/grafana/dashboards/DORAByTeam.json
+++ b/grafana/dashboards/DORAByTeam.json
@@ -24,7 +24,7 @@
   "editable": true,
   "fiscalYearStartMonth": 0,
   "graphTooltip": 0,
-  "id": 36,
+  "id": 8,
   "links": [],
   "liveNow": false,
   "panels": [
@@ -34,7 +34,7 @@
         "uid": "grafana"
       },
       "gridPos": {
-        "h": 6,
+        "h": 7,
         "w": 24,
         "x": 0,
         "y": 0
@@ -47,7 +47,7 @@
           "showLineNumbers": false,
           "showMiniMap": false
         },
-        "content": "- See [how to 
config](https://devlake.apache.org/docs/DORA) this dashboard\n- Data Sources 
Required: \n  - `Deployments` from Jenkins, GitLab CI, GitHub Action, webhook, 
etc. \n  - `Pull Requests` from GitHub PRs, GitLab MRs, BitBucket PRs, Azure 
DevOps PRs, etc.\n  - `Incidents` from Jira issues, GitHub issues, TAPD issues, 
PagerDuty Incidents, etc. \n- Transformation Required: Define `deployments` and 
`incidents` in [data transformations](https://devlake.apache.org/ [...]
+        "content": "- See [how to 
config](https://devlake.apache.org/docs/DORA) this dashboard\n- Data Sources 
Required: \n  - `Deployments` from Jenkins, GitLab CI, GitHub Action, webhook, 
etc. \n  - `Pull Requests` from GitHub PRs, GitLab MRs, BitBucket PRs, Azure 
DevOps PRs, etc.\n  - `Incidents` from Jira issues, GitHub issues, TAPD issues, 
PagerDuty Incidents, etc. \n- Transformation Required: Define `deployments` and 
`incidents` in [data transformations](https://devlake.apache.org/ [...]
         "mode": "markdown"
       },
       "pluginVersion": "9.5.15",
@@ -183,7 +183,7 @@
         "h": 6,
         "w": 24,
         "x": 0,
-        "y": 6
+        "y": 7
       },
       "id": 8,
       "links": [],
@@ -208,7 +208,7 @@
           "format": "table",
           "hide": false,
           "rawQuery": true,
-          "rawSql": "-- Metric 1: Deployment Frequency\nwith 
last_few_calendar_months as(\n-- construct the last few calendar months within 
the selected time period in the top-right corner\n\tSELECT 
CAST((SYSDATE()-INTERVAL (H+T+U) DAY) AS date) day\n\tFROM ( SELECT 0 
H\n\t\t\tUNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300\n\t\t) 
H CROSS JOIN ( SELECT 0 T\n\t\t\tUNION ALL SELECT  10 UNION ALL SELECT  20 
UNION ALL SELECT  30\n\t\t\tUNION ALL SELECT  40 UNION ALL SELECT  50 [...]
+          "rawSql": "-- Metric 1: Deployment Frequency\nwith 
last_few_calendar_months as(\n-- construct the last few calendar months within 
the selected time period in the top-right corner\n\tSELECT 
CAST((SYSDATE()-INTERVAL (H+T+U) DAY) AS date) day\n\tFROM ( SELECT 0 
H\n\t\t\tUNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300\n\t\t) 
H CROSS JOIN ( SELECT 0 T\n\t\t\tUNION ALL SELECT  10 UNION ALL SELECT  20 
UNION ALL SELECT  30\n\t\t\tUNION ALL SELECT  40 UNION ALL SELECT  50 [...]
           "refId": "A",
           "sql": {
             "columns": [
@@ -297,7 +297,7 @@
         "h": 5,
         "w": 6,
         "x": 0,
-        "y": 12
+        "y": 13
       },
       "id": 11,
       "links": [],
@@ -326,7 +326,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "-- Metric 1: Deployment Frequency\nwith 
last_few_calendar_months as(\n-- construct the last few calendar months within 
the selected time period in the top-right corner\n\tSELECT 
CAST((SYSDATE()-INTERVAL (H+T+U) DAY) AS date) day\n\tFROM ( SELECT 0 
H\n\t\t\tUNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300\n\t\t) 
H CROSS JOIN ( SELECT 0 T\n\t\t\tUNION ALL SELECT  10 UNION ALL SELECT  20 
UNION ALL SELECT  30\n\t\t\tUNION ALL SELECT  40 UNION ALL SELECT  50 [...]
+          "rawSql": "-- Metric 1: Deployment Frequency\nwith 
last_few_calendar_months as(\n-- construct the last few calendar months within 
the selected time period in the top-right corner\n\tSELECT 
CAST((SYSDATE()-INTERVAL (H+T+U) DAY) AS date) day\n\tFROM ( SELECT 0 
H\n\t\t\tUNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300\n\t\t) 
H CROSS JOIN ( SELECT 0 T\n\t\t\tUNION ALL SELECT  10 UNION ALL SELECT  20 
UNION ALL SELECT  30\n\t\t\tUNION ALL SELECT  40 UNION ALL SELECT  50 [...]
           "refId": "A",
           "select": [
             [
@@ -435,7 +435,7 @@
         "h": 5,
         "w": 6,
         "x": 6,
-        "y": 12
+        "y": 13
       },
       "id": 12,
       "links": [],
@@ -462,7 +462,7 @@
           "format": "table",
           "hide": false,
           "rawQuery": true,
-          "rawSql": "-- Metric 2: median lead time for changes\nwith _pr_stats 
as (\n-- get the cycle time of PRs deployed by the deployments finished in the 
selected period\n\tSELECT\n\t\tdistinct 
pr.id,\n\t\tppm.pr_cycle_time\n\tFROM\n\t\tpull_requests pr\n\t\tjoin 
user_accounts ua on pr.author_id = ua.account_id\n    \tjoin users u on 
ua.user_id = u.id\n    \tjoin team_users tu on u.id = tu.user_id\n    \tjoin 
teams t on tu.team_id = t.id\n\t\tjoin project_pr_metrics ppm on ppm.id = p 
[...]
+          "rawSql": "-- Metric 2: median lead time for changes\nwith _pr_stats 
as (\n-- get the cycle time of PRs deployed by the deployments finished in the 
selected period\n\tSELECT\n\t\tdistinct 
pr.id,\n\t\tppm.pr_cycle_time\n\tFROM\n\t\tpull_requests pr\n\t\tjoin 
user_accounts ua on pr.author_id = ua.account_id\n    \tjoin users u on 
ua.user_id = u.id\n    \tjoin team_users tu on u.id = tu.user_id\n    \tjoin 
teams t on tu.team_id = t.id\n\t\tjoin project_pr_metrics ppm on ppm.id = p 
[...]
           "refId": "A",
           "sql": {
             "columns": [
@@ -555,7 +555,7 @@
         "h": 5,
         "w": 6,
         "x": 12,
-        "y": 12
+        "y": 13
       },
       "id": 13,
       "links": [],
@@ -582,7 +582,7 @@
           "format": "table",
           "hide": false,
           "rawQuery": true,
-          "rawSql": "-- Metric 3: Median time to restore service \nwith 
_incidents as (\n-- get the incidents created within the selected time period 
in the top-right corner\n\tSELECT\n\t  distinct 
i.id,\n\t\tcast(lead_time_minutes as signed) as 
lead_time_minutes\n\tFROM\n\t\tissues i\n\t  join board_issues bi on i.id = 
bi.issue_id\n\t  join boards b on bi.board_id = b.id\n\t  join project_mapping 
pm on b.id = pm.row_id and pm.`table` = 'boards'\n\t  join user_accounts ua on 
i.assignee_i [...]
+          "rawSql": "-- Metric 3: Median time to restore service \nwith 
_incidents as (\n-- get the incidents created within the selected time period 
in the top-right corner\n\tSELECT\n\t  distinct 
i.id,\n\t\tcast(lead_time_minutes as signed) as 
lead_time_minutes\n\tFROM\n\t\tissues i\n\t  join board_issues bi on i.id = 
bi.issue_id\n\t  join boards b on bi.board_id = b.id\n\t  join project_mapping 
pm on b.id = pm.row_id and pm.`table` = 'boards'\n\t  join user_accounts ua on 
i.assignee_i [...]
           "refId": "A",
           "sql": {
             "columns": [
@@ -671,7 +671,7 @@
         "h": 5,
         "w": 6,
         "x": 18,
-        "y": 12
+        "y": 13
       },
       "id": 14,
       "links": [],
@@ -698,7 +698,7 @@
           "format": "table",
           "hide": false,
           "rawQuery": true,
-          "rawSql": "-- Metric 4: change failure rate\nwith _deployments as 
(\n-- When deploying multiple commits in one pipeline, GitLab and BitBucket may 
generate more than one deployment. However, DevLake consider these deployments 
as ONE production deployment and use the last one's finished_date as the 
finished date.\n\tSELECT\n\t\tcdc.cicd_deployment_id as 
deployment_id,\n\t\tmax(cdc.finished_date) as deployment_finished_date\n\tFROM 
\n\t\tcicd_deployment_commits cdc\n\t    JOIN com [...]
+          "rawSql": "-- Metric 4: change failure rate\nwith _deployments as 
(\n-- When deploying multiple commits in one pipeline, GitLab and BitBucket may 
generate more than one deployment. However, DevLake consider these deployments 
as ONE production deployment and use the last one's finished_date as the 
finished date.\n\tSELECT\n\t\tcdc.cicd_deployment_id as 
deployment_id,\n\t\tmax(cdc.finished_date) as deployment_finished_date\n\tFROM 
\n\t\tcicd_deployment_commits cdc\n\t    JOIN com [...]
           "refId": "A",
           "sql": {
             "columns": [
@@ -771,7 +771,7 @@
         "h": 8,
         "w": 12,
         "x": 0,
-        "y": 17
+        "y": 18
       },
       "id": 2,
       "links": [],
@@ -874,7 +874,7 @@
         "h": 8,
         "w": 12,
         "x": 12,
-        "y": 17
+        "y": 18
       },
       "id": 6,
       "links": [],
@@ -998,7 +998,7 @@
         "h": 8,
         "w": 12,
         "x": 0,
-        "y": 25
+        "y": 26
       },
       "id": 9,
       "links": [],
@@ -1120,7 +1120,7 @@
         "h": 8,
         "w": 12,
         "x": 12,
-        "y": 25
+        "y": 26
       },
       "id": 5,
       "links": [],
@@ -1239,6 +1239,6 @@
   "timezone": "",
   "title": "DORA (by Team)",
   "uid": "66YkL8y4z",
-  "version": 6,
+  "version": 11,
   "weekStart": ""
 }
\ No newline at end of file
diff --git a/grafana/dashboards/DORADebug.json 
b/grafana/dashboards/DORADebug.json
index b27f13e57..ba5224cd7 100644
--- a/grafana/dashboards/DORADebug.json
+++ b/grafana/dashboards/DORADebug.json
@@ -18,7 +18,7 @@
   "editable": true,
   "fiscalYearStartMonth": 0,
   "graphTooltip": 0,
-  "id": 5,
+  "id": 24,
   "links": [],
   "liveNow": false,
   "panels": [
@@ -44,7 +44,7 @@
         "content": "This dashboard is designed to validate the [DORA 
dashboard](/grafana/d/qNo8_0M4z/dora?orgId=1).",
         "mode": "markdown"
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": {
@@ -105,7 +105,7 @@
         "content": "- See the definition and calculation logic of [Deployment 
Frequency](https://devlake.apache.org/docs/Metrics/DeploymentFrequency)\n- Data 
Sources Required: \n  - `Deployments` from Jenkins, GitLab CI, GitHub Action, 
BitBucket Pipelines, or Webhook, etc. \n- Transformation Required: Define 
`deployments` in [data 
transformations](https://devlake.apache.org/docs/Configuration/Tutorial#step-3---add-transformations-optional)
 while configuring the blueprint of a project.",
         "mode": "markdown"
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": {
@@ -191,7 +191,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -237,24 +237,43 @@
           "mappings": [
             {
               "options": {
-                "Between once per month and once every 6 months": {
-                  "color": "yellow",
-                  "index": 1
-                },
-                "Between once per week and once per month": {
+                "pattern": ".*elite.*",
+                "result": {
+                  "color": "purple",
+                  "index": 0
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*high.*",
+                "result": {
                   "color": "green",
+                  "index": 1
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*medium.*",
+                "result": {
+                  "color": "yellow",
                   "index": 2
-                },
-                "Fewer than once per six months": {
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*low.*",
+                "result": {
                   "color": "red",
-                  "index": 0
-                },
-                "On-demand": {
-                  "color": "purple",
                   "index": 3
                 }
               },
-              "type": "value"
+              "type": "regex"
             }
           ],
           "thresholds": {
@@ -292,16 +311,17 @@
         "text": {},
         "textMode": "auto"
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
+          "editorMode": "code",
           "format": "table",
           "group": [],
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "-- Metric 1: Deployment Frequency\nwith 
last_few_calendar_months as(\n-- construct the last few calendar months within 
the selected time period in the top-right corner\n\tSELECT 
CAST((SYSDATE()-INTERVAL (H+T+U) DAY) AS date) day\n\tFROM ( SELECT 0 
H\n\t\t\tUNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300\n\t\t) 
H CROSS JOIN ( SELECT 0 T\n\t\t\tUNION ALL SELECT  10 UNION ALL SELECT  20 
UNION ALL SELECT  30\n\t\t\tUNION ALL SELECT  40 UNION ALL SELECT  50 [...]
+          "rawSql": "-- Metric 1: Deployment Frequency\nwith 
last_few_calendar_months as(\n-- construct the last few calendar months within 
the selected time period in the top-right corner\n\tSELECT 
CAST((SYSDATE()-INTERVAL (H+T+U) DAY) AS date) day\n\tFROM ( SELECT 0 
H\n\t\t\tUNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300\n\t\t) 
H CROSS JOIN ( SELECT 0 T\n\t\t\tUNION ALL SELECT  10 UNION ALL SELECT  20 
UNION ALL SELECT  30\n\t\t\tUNION ALL SELECT  40 UNION ALL SELECT  50 [...]
           "refId": "A",
           "select": [
             [
@@ -313,6 +333,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_tasks",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -401,7 +438,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -628,7 +665,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -746,7 +783,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -864,7 +901,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -947,7 +984,7 @@
         "content": "- See the definition and calculation logic of [Median Lead 
Time for 
Changes](https://devlake.apache.org/docs/Metrics/LeadTimeForChanges)\n- Data 
Sources Required: \n  - `Deployments` from Jenkins, GitLab CI, GitHub Action, 
BitBucket Pipelines, or Webhook, etc. \n  - `Pull Requests` from GitHub PRs, 
GitLab MRs, BitBucket PRs, Azure DevOps PRs, etc.\n- Transformation Required: 
Define `deployments` in [data 
transformations](https://devlake.apache.org/docs/Configuration/T [...]
         "mode": "markdown"
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": {
@@ -1010,7 +1047,7 @@
         },
         "showHeader": true
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -1056,24 +1093,43 @@
           "mappings": [
             {
               "options": {
-                "Between one week and six months": {
-                  "color": "yellow",
-                  "index": 1
-                },
-                "Less than one hour": {
+                "pattern": ".*elite.*",
+                "result": {
                   "color": "purple",
-                  "index": 3
-                },
-                "Less than one week": {
+                  "index": 0
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*high.*",
+                "result": {
                   "color": "green",
+                  "index": 1
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*medium.*",
+                "result": {
+                  "color": "yellow",
                   "index": 2
-                },
-                "More than six months": {
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*low.*",
+                "result": {
                   "color": "red",
-                  "index": 0
+                  "index": 3
                 }
               },
-              "type": "value"
+              "type": "regex"
             }
           ],
           "thresholds": {
@@ -1111,16 +1167,17 @@
         "text": {},
         "textMode": "auto"
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
+          "editorMode": "code",
           "format": "table",
           "group": [],
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "-- Metric 2: median lead time for changes\nwith _pr_stats 
as (\n-- get the cycle time of PRs deployed by the deployments finished in the 
selected period\n\tSELECT\n\t\tdistinct 
pr.id,\n\t\tppm.pr_cycle_time\n\tFROM\n\t\tpull_requests pr \n\t\tjoin 
project_pr_metrics ppm on ppm.id = pr.id\n\t\tjoin project_mapping pm on 
pr.base_repo_id = pm.row_id and pm.`table` = 'repos'\n\t\tjoin 
cicd_deployment_commits cdc on ppm.deployment_commit_id = cdc.id\n\tWHERE\n\t  
pm.proje [...]
+          "rawSql": "-- Metric 2: median lead time for changes\nwith _pr_stats 
as (\n-- get the cycle time of PRs deployed by the deployments finished in the 
selected period\n\tSELECT\n\t\tdistinct 
pr.id,\n\t\tppm.pr_cycle_time\n\tFROM\n\t\tpull_requests pr \n\t\tjoin 
project_pr_metrics ppm on ppm.id = pr.id\n\t\tjoin project_mapping pm on 
pr.base_repo_id = pm.row_id and pm.`table` = 'repos'\n\t\tjoin 
cicd_deployment_commits cdc on ppm.deployment_commit_id = cdc.id\n\tWHERE\n\t  
pm.proje [...]
           "refId": "A",
           "select": [
             [
@@ -1132,6 +1189,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_tasks",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -1179,8 +1253,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "red",
-                "value": null
+                "color": "red"
               }
             ]
           }
@@ -1216,8 +1289,7 @@
                   "mode": "absolute",
                   "steps": [
                     {
-                      "color": "red",
-                      "value": null
+                      "color": "red"
                     },
                     {
                       "color": "green",
@@ -1265,7 +1337,7 @@
         },
         "showHeader": true
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -1335,8 +1407,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -1434,8 +1505,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -1463,7 +1533,7 @@
         "showThresholdMarkers": true,
         "text": {}
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -1573,8 +1643,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -1602,7 +1671,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -1670,8 +1739,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "red",
-                "value": null
+                "color": "red"
               }
             ]
           }
@@ -1699,8 +1767,7 @@
                   "mode": "absolute",
                   "steps": [
                     {
-                      "color": "red",
-                      "value": null
+                      "color": "red"
                     },
                     {
                       "color": "green",
@@ -1762,7 +1829,7 @@
         },
         "showHeader": true
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -1834,8 +1901,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -1863,7 +1929,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -1911,8 +1977,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               },
               {
                 "color": "red",
@@ -1944,7 +2009,7 @@
         "showThresholdMarkers": true,
         "text": {}
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -2022,8 +2087,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -2051,7 +2115,7 @@
         "showThresholdMarkers": true,
         "text": {}
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -2129,8 +2193,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -2158,7 +2221,7 @@
         "showThresholdMarkers": true,
         "text": {}
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -2236,8 +2299,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -2265,7 +2327,7 @@
         "showThresholdMarkers": true,
         "text": {}
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -2343,8 +2405,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -2372,7 +2433,7 @@
         "showThresholdMarkers": true,
         "text": {}
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -2428,8 +2489,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -2510,7 +2570,7 @@
         },
         "showHeader": true
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -2593,7 +2653,7 @@
         "content": "- See the definition and calculation logic of [Median Time 
to Restore Service](https://devlake.apache.org/docs/Metrics/MTTR)\n- Data 
Sources Required: \n  - `Deployments` from Jenkins, GitLab CI, GitHub Action, 
BitBucket Pipelines, or Webhook, etc. \n  - `Incidents` from Jira issues, 
GitHub issues, TAPD issues, PagerDuty Incidents, etc. \n- Transformation 
Required: Define `deployments` and `incidents` in [data 
transformations](https://devlake.apache.org/docs/Configura [...]
         "mode": "markdown"
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": {
@@ -2627,7 +2687,7 @@
         "content": "- See the definition and calculation logic of [Change 
Failure Rate](https://devlake.apache.org/docs/Metrics/CFR)\n- Data Sources 
Required: \n  - `Deployments` from Jenkins, GitLab CI, GitHub Action, BitBucket 
Pipelines, or Webhook, etc. \n  - `Incidents` from Jira issues, GitHub issues, 
TAPD issues, PagerDuty Incidents, etc. \n- Transformation Required: Define 
`deployments` and `incidents` in [data 
transformations](https://devlake.apache.org/docs/Configuration/Tutoria [...]
         "mode": "markdown"
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": {
@@ -2675,8 +2735,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -2704,7 +2763,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -2750,32 +2809,50 @@
           "mappings": [
             {
               "options": {
-                "Between one day and one week": {
-                  "color": "yellow",
-                  "index": 1
-                },
-                "Less than one day": {
+                "pattern": ".*elite.*",
+                "result": {
+                  "color": "purple",
+                  "index": 0
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*high.*",
+                "result": {
                   "color": "green",
+                  "index": 1
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*medium.*",
+                "result": {
+                  "color": "yellow",
                   "index": 2
-                },
-                "Less than one hour": {
-                  "color": "purple",
-                  "index": 3
-                },
-                "More than one week": {
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*low.*",
+                "result": {
                   "color": "red",
-                  "index": 0
+                  "index": 3
                 }
               },
-              "type": "value"
+              "type": "regex"
             }
           ],
           "thresholds": {
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               },
               {
                 "color": "red",
@@ -2809,16 +2886,17 @@
         "text": {},
         "textMode": "auto"
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
+          "editorMode": "code",
           "format": "table",
           "group": [],
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "-- Metric 3: Median time to restore service \nwith 
_incidents as (\n-- get the incidents created within the selected time period 
in the top-right corner\n\tSELECT\n\t  distinct 
i.id,\n\t\tcast(lead_time_minutes as signed) as 
lead_time_minutes\n\tFROM\n\t\tissues i\n\t  join board_issues bi on i.id = 
bi.issue_id\n\t  join boards b on bi.board_id = b.id\n\t  join project_mapping 
pm on b.id = pm.row_id and pm.`table` = 'boards'\n\tWHERE\n\t  pm.project_name 
in ($project [...]
+          "rawSql": "-- Metric 3: Median time to restore service \nwith 
_incidents as (\n-- get the incidents created within the selected time period 
in the top-right corner\n\tSELECT\n\t  distinct 
i.id,\n\t\tcast(lead_time_minutes as signed) as 
lead_time_minutes\n\tFROM\n\t\tissues i\n\t  join board_issues bi on i.id = 
bi.issue_id\n\t  join boards b on bi.board_id = b.id\n\t  join project_mapping 
pm on b.id = pm.row_id and pm.`table` = 'boards'\n\tWHERE\n\t  pm.project_name 
in (${projec [...]
           "refId": "A",
           "select": [
             [
@@ -2830,6 +2908,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_tasks",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -2880,8 +2975,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -2909,7 +3003,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -2967,7 +3061,7 @@
         "content": "<img src = 
'https://devlake.apache.org/assets/images/cfr-definition-94d92cc75f857f183443ad5390d31d65.png'
 />\n\nIn this case:\n\n- Deployment-1 maps to Incident-1\n- Deployment-3 maps 
to Incident-2 and Incident-3\n- Deployment-2,4,5 doesn't map to any Incident",
         "mode": "markdown"
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": {
@@ -3015,8 +3109,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               },
               {
                 "color": "red",
@@ -3120,32 +3213,50 @@
           "mappings": [
             {
               "options": {
-                "0-15%": {
+                "pattern": ".*elite.*",
+                "result": {
                   "color": "purple",
-                  "index": 3
-                },
-                "16%-20%": {
+                  "index": 0
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*high.*",
+                "result": {
                   "color": "green",
-                  "index": 2
-                },
-                "21%-30%": {
-                  "color": "yellow",
                   "index": 1
-                },
-                "> 30%": {
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*medium.*",
+                "result": {
+                  "color": "yellow",
+                  "index": 2
+                }
+              },
+              "type": "regex"
+            },
+            {
+              "options": {
+                "pattern": ".*low.*",
+                "result": {
                   "color": "red",
-                  "index": 0
+                  "index": 3
                 }
               },
-              "type": "value"
+              "type": "regex"
             }
           ],
           "thresholds": {
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -3175,16 +3286,17 @@
         "text": {},
         "textMode": "auto"
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
+          "editorMode": "code",
           "format": "table",
           "group": [],
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "-- Metric 4: change failure rate\nwith _deployments as 
(\n-- When deploying multiple commits in one pipeline, GitLab and BitBucket may 
generate more than one deployment. However, DevLake consider these deployments 
as ONE production deployment and use the last one's finished_date as the 
finished date.\n\tSELECT\n\t\tcdc.cicd_deployment_id as 
deployment_id,\n\t\tmax(cdc.finished_date) as deployment_finished_date\n\tFROM 
\n\t\tcicd_deployment_commits cdc\n\t\tJOIN proje [...]
+          "rawSql": "-- Metric 4: change failure rate\nwith _deployments as 
(\n-- When deploying multiple commits in one pipeline, GitLab and BitBucket may 
generate more than one deployment. However, DevLake consider these deployments 
as ONE production deployment and use the last one's finished_date as the 
finished date.\n\tSELECT\n\t\tcdc.cicd_deployment_id as 
deployment_id,\n\t\tmax(cdc.finished_date) as deployment_finished_date\n\tFROM 
\n\t\tcicd_deployment_commits cdc\n\t\tJOIN proje [...]
           "refId": "A",
           "select": [
             [
@@ -3196,6 +3308,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_tasks",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -3247,8 +3376,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -3276,7 +3404,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -3348,8 +3476,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -3377,7 +3504,7 @@
         "showHeader": true,
         "sortBy": []
       },
-      "pluginVersion": "9.5.2",
+      "pluginVersion": "9.5.15",
       "targets": [
         {
           "datasource": "mysql",
@@ -3467,8 +3594,7 @@
             "mode": "percentage",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           },
@@ -3594,8 +3720,8 @@
       {
         "current": {
           "selected": false,
-          "text": 
"https://github.com/apache/incubator-devlake-website/pull/121";,
-          "value": "github:GithubPullRequest:1:1000234032"
+          "text": "https://github.com/apache/incubator-devlake/pull/5799";,
+          "value": "github:GithubPullRequest:1:1460714136"
         },
         "datasource": "mysql",
         "definition": "select concat(Url, '--', id) from pull_requests",
@@ -3611,6 +3737,27 @@
         "skipUrlSync": false,
         "sort": 0,
         "type": "query"
+      },
+      {
+        "current": {
+          "selected": false,
+          "text": "2023 report",
+          "value": "2023 report"
+        },
+        "datasource": "mysql",
+        "definition": "select benchmarks from dora_benchmarks",
+        "hide": 0,
+        "includeAll": false,
+        "label": "Benchmarks",
+        "multi": false,
+        "name": "benchmarks",
+        "options": [],
+        "query": "select benchmarks from dora_benchmarks",
+        "refresh": 1,
+        "regex": "",
+        "skipUrlSync": false,
+        "sort": 0,
+        "type": "query"
       }
     ]
   },
@@ -3622,6 +3769,6 @@
   "timezone": "",
   "title": "DORA Validation",
   "uid": "KGkUnV-Vz",
-  "version": 2,
+  "version": 4,
   "weekStart": ""
 }
\ No newline at end of file


Reply via email to