This is an automated email from the ASF dual-hosted git repository.
abeizn pushed a commit to branch zk-dc-0913-2
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/zk-dc-0913-2 by this push:
new 822f946ff feat: regex match nil value
822f946ff is described below
commit 822f946ffae7ccb313c99cbcc844dee47d9329ce
Author: abeizn <[email protected]>
AuthorDate: Fri Sep 13 18:30:15 2024 +0800
feat: regex match nil value
---
backend/plugins/bamboo/api/connection_api.go | 12 +++++++-----
backend/plugins/bitbucket/api/connection_api.go | 12 +++++++-----
backend/plugins/circleci/api/connection_api.go | 12 +++++++-----
backend/plugins/github/api/connection_api.go | 12 +++++++-----
backend/plugins/gitlab/api/connection_api.go | 12 +++++++-----
5 files changed, 35 insertions(+), 25 deletions(-)
diff --git a/backend/plugins/bamboo/api/connection_api.go
b/backend/plugins/bamboo/api/connection_api.go
index 6258765df..7c50fc2b2 100644
--- a/backend/plugins/bamboo/api/connection_api.go
+++ b/backend/plugins/bamboo/api/connection_api.go
@@ -221,18 +221,20 @@ func GetConnectionTransformToDeployments(input
*plugin.ApiResourceInput) (*plugi
FROM(
SELECT plan_build_key, link_href, build_started_time
FROM _tool_bamboo_plan_builds
- WHERE connection_id = ? AND plan_name REGEXP ?
- AND plan_name REGEXP ?
+ WHERE connection_id = ?
+ AND (? = '' OR plan_name REGEXP ?)
+ AND (? = '' OR plan_name REGEXP ?)
UNION
SELECT p.plan_build_key, p.link_href,
p.build_started_time
FROM _tool_bamboo_job_builds j
LEFT JOIN _tool_bamboo_plan_builds p on
p.plan_build_key = j.plan_build_key
- WHERE j.connection_id = ? AND j.job_name REGEXP ?
- AND j.job_name REGEXP ?
+ WHERE j.connection_id = ?
+ AND (? = '' OR j.job_name REGEXP ?)
+ AND (? = '' OR j.job_name REGEXP ?)
ORDER BY build_started_time DESC
) AS t
ORDER BY build_started_time DESC
- `, connectionId, deploymentPattern, productionPattern, connectionId,
deploymentPattern, productionPattern)
+ `, connectionId, deploymentPattern, deploymentPattern,
productionPattern, productionPattern, connectionId, deploymentPattern,
deploymentPattern, productionPattern, productionPattern)
if err != nil {
return nil, errors.Default.Wrap(err, "error on get")
}
diff --git a/backend/plugins/bitbucket/api/connection_api.go
b/backend/plugins/bitbucket/api/connection_api.go
index 62459ec93..fcd303c71 100644
--- a/backend/plugins/bitbucket/api/connection_api.go
+++ b/backend/plugins/bitbucket/api/connection_api.go
@@ -204,17 +204,19 @@ func GetConnectionTransformToDeployments(input
*plugin.ApiResourceInput) (*plugi
FROM(
SELECT build_number, ref_name, repo_id, web_url,
bitbucket_created_on
FROM _tool_bitbucket_pipelines
- WHERE connection_id = ? AND ref_name REGEXP ?
- AND ref_name REGEXP ?
+ WHERE connection_id = ?
+ AND (? = '' OR ref_name REGEXP ?)
+ AND (? = '' OR ref_name REGEXP ?)
UNION
SELECT build_number, ref_name, p.repo_id,
web_url,bitbucket_created_on
FROM _tool_bitbucket_pipelines p
LEFT JOIN _tool_bitbucket_pipeline_steps s on
s.pipeline_id = p.bitbucket_id
- WHERE s.connection_id = ? AND s.name REGEXP ?
- AND s.name REGEXP ?
+ WHERE s.connection_id = ? AND
+ AND (? = '' OR s.name REGEXP ?)
+ AND (? = '' OR s.name REGEXP ?)
) AS t
ORDER BY bitbucket_created_on DESC
- `, connectionId, deploymentPattern, productionPattern, connectionId,
deploymentPattern, productionPattern)
+ `, connectionId, deploymentPattern, deploymentPattern,
productionPattern, productionPattern, connectionId, deploymentPattern,
deploymentPattern, productionPattern, productionPattern)
if err != nil {
return nil, errors.Default.Wrap(err, "error on get")
}
diff --git a/backend/plugins/circleci/api/connection_api.go
b/backend/plugins/circleci/api/connection_api.go
index 5e0a64c37..4d622feee 100644
--- a/backend/plugins/circleci/api/connection_api.go
+++ b/backend/plugins/circleci/api/connection_api.go
@@ -197,17 +197,19 @@ func GetConnectionTransformToDeployments(input
*plugin.ApiResourceInput) (*plugi
FROM(
SELECT pipeline_number, name, project_slug, created_date
FROM _tool_circleci_workflows
- WHERE connection_id = ? AND name REGEXP ?
- AND name REGEXP ?
+ WHERE connection_id = ?
+ AND (? = '' OR name REGEXP ?)
+ AND (? = '' OR name REGEXP ?)
UNION
SELECT w.pipeline_number, w.name, w.project_slug,
w.created_date
FROM _tool_circleci_jobs j
LEFT JOIN _tool_circleci_workflows w on w.id =
j.workflow_id
- WHERE j.connection_id = ? AND j.name REGEXP ?
- AND j.name REGEXP ?
+ WHERE j.connection_id = ?
+ AND (? = '' OR j.name REGEXP ?)
+ AND (? = '' OR j.name REGEXP ?)
) AS t
ORDER BY created_date DESC
- `, connectionId, deploymentPattern, productionPattern, connectionId,
deploymentPattern, productionPattern)
+ `, connectionId, deploymentPattern, deploymentPattern,
productionPattern, productionPattern, connectionId, deploymentPattern,
deploymentPattern, productionPattern, productionPattern)
if err != nil {
return nil, errors.Default.Wrap(err, "error on get")
}
diff --git a/backend/plugins/github/api/connection_api.go
b/backend/plugins/github/api/connection_api.go
index de0991ef6..12c12d7d8 100644
--- a/backend/plugins/github/api/connection_api.go
+++ b/backend/plugins/github/api/connection_api.go
@@ -460,17 +460,19 @@ func GetConnectionTransformToDeployments(input
*plugin.ApiResourceInput) (*plugi
FROM (
SELECT id, run_number, name, head_branch, html_url,
run_started_at
FROM _tool_github_runs
- WHERE connection_id = ? AND name REGEXP ?
- AND (name REGEXP ? OR head_branch REGEXP ?)
+ WHERE connection_id = ?
+ AND (? = '' OR name REGEXP ?)
+ AND (? = '' OR name REGEXP ? OR head_branch
REGEXP ?)
UNION
SELECT r.id, r.run_number, r.name, r.head_branch,
r.html_url, r.run_started_at
FROM _tool_github_jobs j
LEFT JOIN _tool_github_runs r ON j.run_id = r.id
- WHERE j.connection_id = ? AND j.name REGEXP ?
- AND j.name REGEXP ?
+ WHERE j.connection_id = ?
+ AND (? = '' OR j.name REGEXP ?)
+ AND (? = '' OR j.name REGEXP ?)
) r
ORDER BY r.run_started_at DESC
- `, connectionId, deploymentPattern, productionPattern,
productionPattern, connectionId, deploymentPattern, productionPattern)
+ `, connectionId, deploymentPattern, deploymentPattern,
productionPattern, productionPattern, productionPattern, connectionId,
deploymentPattern, deploymentPattern, productionPattern, productionPattern)
if err != nil {
return nil, errors.Default.Wrap(err, "error on get")
}
diff --git a/backend/plugins/gitlab/api/connection_api.go
b/backend/plugins/gitlab/api/connection_api.go
index 1a485d589..f6a71dec6 100644
--- a/backend/plugins/gitlab/api/connection_api.go
+++ b/backend/plugins/gitlab/api/connection_api.go
@@ -233,18 +233,20 @@ func GetConnectionTransformToDeployments(input
*plugin.ApiResourceInput) (*plugi
SELECT r.name, p.gitlab_id, p.web_url, p.started_at
FROM _tool_gitlab_pipelines p
LEFT JOIN _tool_gitlab_projects r on r.gitlab_id =
p.project_id
- WHERE p.connection_id = ? AND ref REGEXP ?
- AND ref REGEXP ?
+ WHERE p.connection_id = ?
+ AND (? = '' OR ref REGEXP ?)
+ AND (? = '' OR ref REGEXP ?)
UNION
SELECT r.name, p.gitlab_id, p.web_url, p.started_at
FROM _tool_gitlab_pipelines p
LEFT JOIN _tool_gitlab_projects r on r.gitlab_id =
p.project_id
LEFT JOIN _tool_gitlab_jobs j on j.pipeline_id =
p.gitlab_id
- WHERE j.connection_id = ? AND j.name REGEXP ?
- AND j.name REGEXP ?
+ WHERE j.connection_id = ?
+ AND (? = '' OR j.name REGEXP ?)
+ AND (? = '' OR j.name REGEXP ?)
) r
ORDER BY r.started_at DESC
- `, connectionId, deploymentPattern, productionPattern, connectionId,
deploymentPattern, productionPattern)
+ `, connectionId, deploymentPattern, deploymentPattern,
productionPattern, productionPattern, connectionId, deploymentPattern,
deploymentPattern, productionPattern, productionPattern)
if err != nil {
return nil, errors.Default.Wrap(err, "error on get")
}