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/06/16 05:02:40 UTC

[incubator-devlake] 05/05: feat: multi-data connections support for Jenkins

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 c2845804bd7de5d504767e2212c77575527e142e
Author: abeizn <zi...@merico.dev>
AuthorDate: Thu Jun 16 11:41:42 2022 +0800

    feat: multi-data connections support for Jenkins
---
 plugins/jenkins/api/connection.go                      |  2 +-
 plugins/jenkins/models/migrationscripts/init_schema.go | 12 +-----------
 plugins/jenkins/tasks/build_collector.go               |  2 +-
 plugins/jenkins/tasks/build_convertor.go               |  1 +
 plugins/jenkins/tasks/job_collector.go                 |  2 +-
 plugins/jenkins/tasks/job_convertor.go                 |  1 +
 6 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/plugins/jenkins/api/connection.go b/plugins/jenkins/api/connection.go
index bf446e8b..d0643531 100644
--- a/plugins/jenkins/api/connection.go
+++ b/plugins/jenkins/api/connection.go
@@ -38,7 +38,7 @@ func TestConnection(input *core.ApiResourceInput) (*core.ApiResourceOutput, erro
 	if err != nil {
 		return nil, err
 	}
-	// validateplugins/jenkins/tasks/job_collector.go
+	// validate
 	err = vld.Struct(connection)
 	if err != nil {
 		return nil, err
diff --git a/plugins/jenkins/models/migrationscripts/init_schema.go b/plugins/jenkins/models/migrationscripts/init_schema.go
index b9465976..07883f47 100644
--- a/plugins/jenkins/models/migrationscripts/init_schema.go
+++ b/plugins/jenkins/models/migrationscripts/init_schema.go
@@ -19,7 +19,6 @@ package migrationscripts
 
 import (
 	"context"
-	"fmt"
 
 	"github.com/apache/incubator-devlake/config"
 	"github.com/apache/incubator-devlake/plugins/core"
@@ -32,18 +31,9 @@ type InitSchemas struct{}
 
 func (*InitSchemas) Up(ctx context.Context, db *gorm.DB) error {
 
-	rawTableList := []string{
+	err := db.Migrator().DropTable(
 		"_raw_jenkins_api_jobs",
 		"_raw_jenkins_api_builds",
-	}
-	for _, v := range rawTableList {
-		err := db.Exec(fmt.Sprintf("DROP TABLE IF EXISTS %s CASCADE", v)).Error
-		if err != nil {
-			return err
-		}
-	}
-
-	err := db.Migrator().DropTable(
 		&archived.JenkinsJob{},
 		&archived.JenkinsBuild{},
 	)
diff --git a/plugins/jenkins/tasks/build_collector.go b/plugins/jenkins/tasks/build_collector.go
index 8ce663fa..074cd276 100644
--- a/plugins/jenkins/tasks/build_collector.go
+++ b/plugins/jenkins/tasks/build_collector.go
@@ -81,7 +81,7 @@ func CollectApiBuilds(taskCtx core.SubTaskContext) error {
 			query := url.Values{}
 			treeValue := fmt.Sprintf(
 				"allBuilds[number,timestamp,duration,estimatedDuration,displayName,result,actions[lastBuiltRevision[SHA1],mercurialRevisionNumber],changeSet[kind,revisions[revision]]]{%d,%d}",
-				reqData.Pager.Skip+1, reqData.Pager.Skip+reqData.Pager.Size)
+				reqData.Pager.Skip, reqData.Pager.Skip+reqData.Pager.Size)
 			query.Set("tree", treeValue)
 			return query, nil
 		},
diff --git a/plugins/jenkins/tasks/build_convertor.go b/plugins/jenkins/tasks/build_convertor.go
index cb160f69..12d4a6a2 100644
--- a/plugins/jenkins/tasks/build_convertor.go
+++ b/plugins/jenkins/tasks/build_convertor.go
@@ -43,6 +43,7 @@ func ConvertBuilds(taskCtx core.SubTaskContext) error {
 	clauses := []Clause{
 		Select("*"),
 		From("_tool_jenkins_builds"),
+		Where("connection_id = ?", data.Options.ConnectionId),
 	}
 	cursor, err := db.Cursor(clauses...)
 	if err != nil {
diff --git a/plugins/jenkins/tasks/job_collector.go b/plugins/jenkins/tasks/job_collector.go
index e608d63d..ad4d32bd 100644
--- a/plugins/jenkins/tasks/job_collector.go
+++ b/plugins/jenkins/tasks/job_collector.go
@@ -65,7 +65,7 @@ func CollectApiJobs(taskCtx core.SubTaskContext) error {
 			query := url.Values{}
 			treeValue := fmt.Sprintf(
 				"jobs[name,class,color,base]{%d,%d}",
-				reqData.Pager.Skip+1, reqData.Pager.Skip+reqData.Pager.Size)
+				reqData.Pager.Skip, reqData.Pager.Skip+reqData.Pager.Size)
 			query.Set("tree", treeValue)
 			return query, nil
 		},
diff --git a/plugins/jenkins/tasks/job_convertor.go b/plugins/jenkins/tasks/job_convertor.go
index 55d08098..11e1bb8b 100644
--- a/plugins/jenkins/tasks/job_convertor.go
+++ b/plugins/jenkins/tasks/job_convertor.go
@@ -43,6 +43,7 @@ func ConvertJobs(taskCtx core.SubTaskContext) error {
 	clauses := []Clause{
 		Select("*"),
 		From("_tool_jenkins_jobs"),
+		Where("connection_id = ?", data.Options.ConnectionId),
 	}
 	cursor, err := db.Cursor(clauses...)
 	if err != nil {