You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by wa...@apache.org on 2022/09/26 10:28:31 UTC
[incubator-devlake] 02/03: fix: type filed is nil in cicd_task table by jenkins-dora union plugin
This is an automated email from the ASF dual-hosted git repository.
warren pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
commit 4eb626375aa2fffec34e2e2b75a200925cba8b77
Author: abeizn <zi...@merico.dev>
AuthorDate: Mon Sep 26 15:20:47 2022 +0800
fix: type filed is nil in cicd_task table by jenkins-dora union plugin
---
plugins/dora/tasks/cicd_task_env_enricher.go | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/plugins/dora/tasks/cicd_task_env_enricher.go b/plugins/dora/tasks/cicd_task_env_enricher.go
index f571b80f..0e21c136 100644
--- a/plugins/dora/tasks/cicd_task_env_enricher.go
+++ b/plugins/dora/tasks/cicd_task_env_enricher.go
@@ -37,6 +37,15 @@ var EnrichTaskEnvMeta = core.SubTaskMeta{
DomainTypes: []string{core.DOMAIN_TYPE_CICD},
}
+func Find(slice []string, val string) (int, bool) {
+ for i, item := range slice {
+ if item == val {
+ return i, true
+ }
+ }
+ return -1, false
+}
+
func EnrichTasksEnv(taskCtx core.SubTaskContext) (err errors.Error) {
db := taskCtx.GetDal()
data := taskCtx.GetData().(*DoraTaskData)
@@ -62,15 +71,19 @@ func EnrichTasksEnv(taskCtx core.SubTaskContext) (err errors.Error) {
// return errors.Default.Wrap(errRegexp, "Regexp compile testingPattern failed")
// }
var cursor *sql.Rows
- if len(dataSource) == 0 {
+ _, f1 := Find(dataSource, "jenkins")
+ if !f1 {
cursor, err = db.Cursor(
dal.From(&devops.CICDTask{}),
- dal.Join("left join cicd_pipeline_commits cpr on cpr.repo_id = ? and cicd_tasks.pipeline_id = cpr.pipeline_id ", repoId),
+ dal.Join("left join cicd_pipeline_commits cpr on cpr.repo_id = '' and cicd_tasks.pipeline_id = cpr.pipeline_id "),
dal.Where("status=?", devops.DONE))
- } else {
+ }
+ _, f2 := Find(dataSource, "github")
+ _, f3 := Find(dataSource, "gitlab")
+ if f2 || f3 || len(dataSource) == 0 {
cursor, err = db.Cursor(
dal.From(&devops.CICDTask{}),
- dal.Join("left join cicd_pipeline_commits cpr on cpr.repo_id = '' and cicd_tasks.pipeline_id = cpr.pipeline_id "),
+ dal.Join("left join cicd_pipeline_commits cpr on cpr.repo_id = ? and cicd_tasks.pipeline_id = cpr.pipeline_id ", repoId),
dal.Where("status=?", devops.DONE))
}
if err != nil {