You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ab...@apache.org on 2024/02/29 11:43:58 UTC
(incubator-devlake) branch fix-dora-delete-when-data-nil2 updated: fix: empty dora data when run the tasks
This is an automated email from the ASF dual-hosted git repository.
abeizn pushed a commit to branch fix-dora-delete-when-data-nil2
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/fix-dora-delete-when-data-nil2 by this push:
new 96431de94 fix: empty dora data when run the tasks
96431de94 is described below
commit 96431de948c4c89f8a05c3de3711dbba733f3b94
Author: abeizn <zi...@merico.dev>
AuthorDate: Thu Feb 29 19:43:48 2024 +0800
fix: empty dora data when run the tasks
---
.../dora/tasks/change_lead_time_calculator.go | 20 +++++++-------------
.../dora/tasks/deployment_commits_generator.go | 20 +++++++-------------
backend/plugins/dora/tasks/deployment_generator.go | 20 +++++++-------------
.../plugins/dora/tasks/incident_deploy_connector.go | 20 +++++++-------------
4 files changed, 28 insertions(+), 52 deletions(-)
diff --git a/backend/plugins/dora/tasks/change_lead_time_calculator.go b/backend/plugins/dora/tasks/change_lead_time_calculator.go
index dc5134cbe..8b8d98308 100644
--- a/backend/plugins/dora/tasks/change_lead_time_calculator.go
+++ b/backend/plugins/dora/tasks/change_lead_time_calculator.go
@@ -48,6 +48,13 @@ func CalculateChangeLeadTime(taskCtx plugin.SubTaskContext) errors.Error {
logger := taskCtx.GetLogger()
data := taskCtx.GetData().(*DoraTaskData)
+ // Clear previous results from the project
+ deleteSql := fmt.Sprintf("DELETE FROM project_pr_metrics WHERE project_name = '%s'", data.Options.ProjectName)
+ err := db.Exec(deleteSql)
+ if err != nil {
+ return errors.Default.Wrap(err, "error deleting previous project_pr_metrics")
+ }
+
// Get pull requests by repo project_name
var clauses = []dal.Clause{
dal.Select("pr.id, pr.pull_request_key, pr.author_id, pr.merge_commit_sha, pr.created_date, pr.merged_date"),
@@ -60,19 +67,6 @@ func CalculateChangeLeadTime(taskCtx plugin.SubTaskContext) errors.Error {
return err
}
defer cursor.Close()
- count, err := db.Count(clauses...)
- if err != nil {
- return errors.Default.Wrap(err, "error getting count of clauses")
- }
- if count == 0 {
- // Clear previous results from the project
- deleteSql := fmt.Sprintf("DELETE FROM project_pr_metrics WHERE project_name = '%s'", data.Options.ProjectName)
- err := db.Exec(deleteSql)
- if err != nil {
- return errors.Default.Wrap(err, "error deleting previous project_pr_metrics")
- }
- return nil
- }
converter, err := api.NewDataConverter(api.DataConverterArgs{
RawDataSubTaskArgs: api.RawDataSubTaskArgs{
diff --git a/backend/plugins/dora/tasks/deployment_commits_generator.go b/backend/plugins/dora/tasks/deployment_commits_generator.go
index d960f5785..325cd8b03 100644
--- a/backend/plugins/dora/tasks/deployment_commits_generator.go
+++ b/backend/plugins/dora/tasks/deployment_commits_generator.go
@@ -59,6 +59,13 @@ type pipelineCommitEx struct {
func GenerateDeploymentCommits(taskCtx plugin.SubTaskContext) errors.Error {
db := taskCtx.GetDal()
data := taskCtx.GetData().(*DoraTaskData)
+
+ // Clear previous results from the project
+ deleteSql := fmt.Sprintf("DELETE cdc FROM cicd_deployment_commits cdc LEFT JOIN project_mapping pm ON (pm.table = 'cicd_scopes' AND pm.row_id = cdc.cicd_scope_id) WHERE pm.project_name = '%s'", data.Options.ProjectName)
+ err := db.Exec(deleteSql)
+ if err != nil {
+ return errors.Default.Wrap(err, "error deleting previous cicd_deployment_commits")
+ }
// select all cicd_pipeline_commits from all "Deployments" in the project
// Note that failed records shall be included as well
noneSkippedResult := []string{devops.RESULT_FAILURE, devops.RESULT_SUCCESS}
@@ -112,19 +119,6 @@ func GenerateDeploymentCommits(taskCtx plugin.SubTaskContext) errors.Error {
return err
}
defer cursor.Close()
- count, err := db.Count(clauses...)
- if err != nil {
- return errors.Default.Wrap(err, "error getting count of clauses")
- }
- if count == 0 {
- // Clear previous results from the project
- deleteSql := fmt.Sprintf("DELETE cdc FROM cicd_deployment_commits cdc LEFT JOIN project_mapping pm ON (pm.table = 'cicd_scopes' AND pm.row_id = cdc.cicd_scope_id) WHERE pm.project_name = '%s'", data.Options.ProjectName)
- err := db.Exec(deleteSql)
- if err != nil {
- return errors.Default.Wrap(err, "error deleting previous cicd_deployment_commits")
- }
- return nil
- }
enricher, err := api.NewDataConverter(api.DataConverterArgs{
RawDataSubTaskArgs: api.RawDataSubTaskArgs{
diff --git a/backend/plugins/dora/tasks/deployment_generator.go b/backend/plugins/dora/tasks/deployment_generator.go
index f7caada5e..da9884cc4 100644
--- a/backend/plugins/dora/tasks/deployment_generator.go
+++ b/backend/plugins/dora/tasks/deployment_generator.go
@@ -48,6 +48,13 @@ type pipelineEx struct {
func GenerateDeployment(taskCtx plugin.SubTaskContext) errors.Error {
db := taskCtx.GetDal()
data := taskCtx.GetData().(*DoraTaskData)
+ // Clear previous results from the project
+ deleteSql := fmt.Sprintf("DELETE cd FROM cicd_deployments cd LEFT JOIN project_mapping pm ON (pm.table = 'cicd_scopes' AND pm.row_id = cd.cicd_scope_id) WHERE pm.project_name = '%s'", data.Options.ProjectName)
+ err := db.Exec(deleteSql)
+ if err != nil {
+ return errors.Default.Wrap(err, "error deleting previous deployments")
+ }
+
// Note that failed records shall be included as well
noneSkippedResult := []string{devops.RESULT_FAILURE, devops.RESULT_SUCCESS}
var clauses = []dal.Clause{
@@ -91,19 +98,6 @@ func GenerateDeployment(taskCtx plugin.SubTaskContext) errors.Error {
return err
}
defer cursor.Close()
- count, err := db.Count(clauses...)
- if err != nil {
- return errors.Default.Wrap(err, "error getting count of clauses")
- }
- if count == 0 {
- // Clear previous results from the project
- deleteSql := fmt.Sprintf("DELETE cd FROM cicd_deployments cd LEFT JOIN project_mapping pm ON (pm.table = 'cicd_scopes' AND pm.row_id = cd.cicd_scope_id) WHERE pm.project_name = '%s'", data.Options.ProjectName)
- err := db.Exec(deleteSql)
- if err != nil {
- return errors.Default.Wrap(err, "error deleting previous deployments")
- }
- return nil
- }
enricher, err := api.NewDataConverter(api.DataConverterArgs{
RawDataSubTaskArgs: api.RawDataSubTaskArgs{
diff --git a/backend/plugins/dora/tasks/incident_deploy_connector.go b/backend/plugins/dora/tasks/incident_deploy_connector.go
index f2903d03c..e3941af3c 100644
--- a/backend/plugins/dora/tasks/incident_deploy_connector.go
+++ b/backend/plugins/dora/tasks/incident_deploy_connector.go
@@ -48,6 +48,13 @@ type simpleCicdDeploymentCommit struct {
func ConnectIncidentToDeployment(taskCtx plugin.SubTaskContext) errors.Error {
db := taskCtx.GetDal()
data := taskCtx.GetData().(*DoraTaskData)
+ // Clear previous results from the project
+ deleteSql := fmt.Sprintf("DELETE FROM project_issue_metrics WHERE project_name = '%s'", data.Options.ProjectName)
+ err := db.Exec(deleteSql)
+ if err != nil {
+ return errors.Default.Wrap(err, "error deleting previous project_issue_metrics")
+ }
+
// select all issues belongs to the board
clauses := []dal.Clause{
dal.From(`issues i`),
@@ -63,19 +70,6 @@ func ConnectIncidentToDeployment(taskCtx plugin.SubTaskContext) errors.Error {
return err
}
defer cursor.Close()
- count, err := db.Count(clauses...)
- if err != nil {
- return errors.Default.Wrap(err, "error getting count of clauses")
- }
- if count == 0 {
- // Clear previous results from the project
- deleteSql := fmt.Sprintf("DELETE FROM project_issue_metrics WHERE project_name = '%s'", data.Options.ProjectName)
- err := db.Exec(deleteSql)
- if err != nil {
- return errors.Default.Wrap(err, "error deleting previous project_issue_metrics")
- }
- return nil
- }
enricher, err := api.NewDataConverter(api.DataConverterArgs{
RawDataSubTaskArgs: api.RawDataSubTaskArgs{