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/28 07:40:38 UTC

[incubator-devlake] branch main updated: fix: deployTagPattern is missing in jenkins build converter

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


The following commit(s) were added to refs/heads/main by this push:
     new 2042c4d2 fix: deployTagPattern is missing in jenkins build converter
2042c4d2 is described below

commit 2042c4d247f4df97f058bc97201bdaa8ecc7d672
Author: abeizn <zi...@merico.dev>
AuthorDate: Wed Sep 28 14:49:18 2022 +0800

    fix: deployTagPattern is missing in jenkins build converter
---
 plugins/jenkins/tasks/build_cicd_convertor.go | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/plugins/jenkins/tasks/build_cicd_convertor.go b/plugins/jenkins/tasks/build_cicd_convertor.go
index e4c998b6..5719dbd4 100644
--- a/plugins/jenkins/tasks/build_cicd_convertor.go
+++ b/plugins/jenkins/tasks/build_cicd_convertor.go
@@ -18,17 +18,18 @@ limitations under the License.
 package tasks
 
 import (
-	"github.com/apache/incubator-devlake/errors"
-	"github.com/apache/incubator-devlake/models/domainlayer/didgen"
-	"github.com/apache/incubator-devlake/plugins/jenkins/models"
 	"reflect"
+	"regexp"
 	"time"
 
+	"github.com/apache/incubator-devlake/errors"
 	"github.com/apache/incubator-devlake/models/domainlayer"
 	"github.com/apache/incubator-devlake/models/domainlayer/devops"
+	"github.com/apache/incubator-devlake/models/domainlayer/didgen"
 	"github.com/apache/incubator-devlake/plugins/core"
 	"github.com/apache/incubator-devlake/plugins/core/dal"
 	"github.com/apache/incubator-devlake/plugins/helper"
+	"github.com/apache/incubator-devlake/plugins/jenkins/models"
 )
 
 var ConvertBuildsToCICDMeta = core.SubTaskMeta{
@@ -39,9 +40,17 @@ var ConvertBuildsToCICDMeta = core.SubTaskMeta{
 	DomainTypes:      []string{core.DOMAIN_TYPE_CICD},
 }
 
-func ConvertBuildsToCICD(taskCtx core.SubTaskContext) errors.Error {
+func ConvertBuildsToCICD(taskCtx core.SubTaskContext) (err errors.Error) {
 	db := taskCtx.GetDal()
 	data := taskCtx.GetData().(*JenkinsTaskData)
+	var deployTagRegexp *regexp.Regexp
+	deploymentPattern := data.Options.DeploymentPattern
+	if len(deploymentPattern) > 0 {
+		deployTagRegexp, err = errors.Convert01(regexp.Compile(deploymentPattern))
+		if err != nil {
+			return errors.Default.Wrap(err, "regexp compile deploymentPattern failed")
+		}
+	}
 
 	clauses := []dal.Clause{
 		dal.From("_tool_jenkins_builds"),
@@ -124,9 +133,13 @@ func ConvertBuildsToCICD(taskCtx core.SubTaskContext) errors.Error {
 					StartedDate:  jenkinsBuild.StartTime,
 					FinishedDate: jenkinsPipelineFinishedDate,
 				}
+				if deployTagRegexp != nil {
+					if deployFlag := deployTagRegexp.FindString(jenkinsBuild.JobName); deployFlag != "" {
+						jenkinsTask.Type = devops.DEPLOYMENT
+					}
+				}
 
 				jenkinsTask.PipelineId = buildIdGen.Generate(jenkinsBuild.ConnectionId, jenkinsBuild.FullDisplayName)
-
 				jenkinsTask.RawDataOrigin = jenkinsBuild.RawDataOrigin
 				results = append(results, jenkinsTask)