This is an automated email from the ASF dual-hosted git repository. mintsweet pushed a commit to branch feat-dora-config in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
commit 252ded968fefa07e941adcc74244edb05a071be1 Author: abeizn <zikuan...@merico.dev> AuthorDate: Fri Sep 13 18:33:54 2024 +0800 feat: regex match nil value (#8051) --- 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") }