This is an automated email from the ASF dual-hosted git repository.

abeizn 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 bff2ef91e feat: enrich cicd_pipeline type/env for jenkins (#4959)
bff2ef91e is described below

commit bff2ef91e895cb110be244569dbcfa6a6d064d1d
Author: Klesh Wong <[email protected]>
AuthorDate: Sun Apr 23 11:35:48 2023 +0800

    feat: enrich cicd_pipeline type/env for jenkins (#4959)
---
 backend/plugins/jenkins/e2e/builds_test.go         |  9 +++++----
 .../jenkins/e2e/snapshot_tables/cicd_pipelines.csv | 16 ++++++++--------
 backend/plugins/jenkins/e2e/stages_test.go         | 12 +++++++-----
 backend/plugins/jenkins/impl/impl.go               | 15 ++++++++++++---
 .../plugins/jenkins/tasks/build_cicd_convertor.go  | 22 ++++++++--------------
 backend/plugins/jenkins/tasks/stage_convertor.go   | 13 ++-----------
 backend/plugins/jenkins/tasks/task_data.go         |  9 +++++----
 7 files changed, 47 insertions(+), 49 deletions(-)

diff --git a/backend/plugins/jenkins/e2e/builds_test.go 
b/backend/plugins/jenkins/e2e/builds_test.go
index 2ffc6ee44..aba601aba 100644
--- a/backend/plugins/jenkins/e2e/builds_test.go
+++ b/backend/plugins/jenkins/e2e/builds_test.go
@@ -22,6 +22,7 @@ import (
 
        "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
        "github.com/apache/incubator-devlake/helpers/e2ehelper"
+       "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
        "github.com/apache/incubator-devlake/plugins/jenkins/impl"
        "github.com/apache/incubator-devlake/plugins/jenkins/models"
        "github.com/apache/incubator-devlake/plugins/jenkins/tasks"
@@ -32,17 +33,17 @@ func TestJenkinsBuildsDataFlow(t *testing.T) {
        var jenkins impl.Jenkins
        dataflowTester := e2ehelper.NewDataFlowTester(t, "jenkins", jenkins)
 
+       regexEnricher := api.NewRegexEnricher()
+       _ = regexEnricher.TryAdd(devops.DEPLOYMENT, 
`test-sub-sub-dir\/devlake.*`)
+       _ = regexEnricher.TryAdd(devops.PRODUCTION, 
`test-sub-sub-dir\/devlake.*`)
        taskData := &tasks.JenkinsTaskData{
                Options: &tasks.JenkinsOptions{
                        ConnectionId: 1,
                        JobName:      `devlake`,
                        JobFullName:  
`Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake`,
                        JobPath:      
`job/Test-jenkins-dir/job/test-jenkins-sub-dir/job/test-sub-sub-dir/`,
-                       JenkinsTransformationRule: 
&models.JenkinsTransformationRule{
-                               DeploymentPattern: 
`test-sub-sub-dir\/devlake.*`,
-                               ProductionPattern: 
`test-sub-sub-dir\/devlake.*`,
-                       },
                },
+               RegexEnricher: regexEnricher,
        }
 
        dataflowTester.FlushTabler(&models.JenkinsBuild{})
diff --git a/backend/plugins/jenkins/e2e/snapshot_tables/cicd_pipelines.csv 
b/backend/plugins/jenkins/e2e/snapshot_tables/cicd_pipelines.csv
index 401c93939..50e7be4a5 100644
--- a/backend/plugins/jenkins/e2e/snapshot_tables/cicd_pipelines.csv
+++ b/backend/plugins/jenkins/e2e/snapshot_tables/cicd_pipelines.csv
@@ -1,9 +1,9 @@
 
id,name,result,status,type,duration_sec,environment,created_date,finished_date,cicd_scope_id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
-jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#11,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#11,SUCCESS,DONE,,14,,2022-04-15T10:10:16.000+00:00,2022-04-15T10:10:30.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,95,
-jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#17,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#17,SUCCESS,DONE,,0,,2022-04-15T10:05:53.000+00:00,2022-04-15T10:05:53.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,124,
-jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#21,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#21,SUCCESS,DONE,,2,,2022-04-15T11:35:48.000+00:00,2022-04-15T11:35:50.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,94,
-jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#23,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#23,SUCCESS,DONE,,0,,2022-09-08T14:26:51.000+00:00,2022-09-08T14:26:51.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,96,
-jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#27,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#27,,IN_PROGRESS,,0,,2022-04-15T10:06:17.000+00:00,,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,123,
-jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#31,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#31,SUCCESS,DONE,,1,,2022-04-15T12:00:49.000+00:00,2022-04-15T12:00:50.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,93,
-jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#37,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#37,SUCCESS,DONE,,0,,2022-04-15T10:06:26.000+00:00,2022-04-15T10:06:26.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,122,
-jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#47,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#47,SUCCESS,DONE,,0,,2022-04-15T11:35:56.000+00:00,2022-04-15T11:35:56.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,121,
+jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#11,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#11,SUCCESS,DONE,DEPLOYMENT,14,PRODUCTION,2022-04-15T10:10:16.000+00:00,2022-04-15T10:10:30.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,95,
+jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#17,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#17,SUCCESS,DONE,DEPLOYMENT,0,PRODUCTION,2022-04-15T10:05:53.000+00:00,2022-04-15T10:05:53.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,124,
+jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#21,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#21,SUCCESS,DONE,DEPLOYMENT,2,PRODUCTION,2022-04-15T11:35:48.000+00:00,2022-04-15T11:35:50.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,94,
+jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#23,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#23,SUCCESS,DONE,DEPLOYMENT,0,PRODUCTION,2022-09-08T14:26:51.000+00:00,2022-09-08T14:26:51.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,96,
+jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#27,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#27,,IN_PROGRESS,DEPLOYMENT,0,PRODUCTION,2022-04-15T10:06:17.000+00:00,,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,123,
+jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#31,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#31,SUCCESS,DONE,DEPLOYMENT,1,PRODUCTION,2022-04-15T12:00:49.000+00:00,2022-04-15T12:00:50.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,93,
+jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#37,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#37,SUCCESS,DONE,DEPLOYMENT,0,PRODUCTION,2022-04-15T10:06:26.000+00:00,2022-04-15T10:06:26.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,122,
+jenkins:JenkinsBuild:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#47,Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake#47,SUCCESS,DONE,DEPLOYMENT,0,PRODUCTION,2022-04-15T11:35:56.000+00:00,2022-04-15T11:35:56.000+00:00,jenkins:JenkinsJob:1:Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake,"{""ConnectionId"":1,""FullName"":""Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake""}",_raw_jenkins_api_builds,121,
\ No newline at end of file
diff --git a/backend/plugins/jenkins/e2e/stages_test.go 
b/backend/plugins/jenkins/e2e/stages_test.go
index 83bd34107..8f76c028d 100644
--- a/backend/plugins/jenkins/e2e/stages_test.go
+++ b/backend/plugins/jenkins/e2e/stages_test.go
@@ -18,29 +18,31 @@ limitations under the License.
 package e2e
 
 import (
+       "testing"
+
        "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
        "github.com/apache/incubator-devlake/helpers/e2ehelper"
+       "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
        "github.com/apache/incubator-devlake/plugins/jenkins/impl"
        "github.com/apache/incubator-devlake/plugins/jenkins/models"
        "github.com/apache/incubator-devlake/plugins/jenkins/tasks"
-       "testing"
 )
 
 func TestJenkinsStagesDataFlow(t *testing.T) {
        var jenkins impl.Jenkins
        dataflowTester := e2ehelper.NewDataFlowTester(t, "jenkins", jenkins)
 
+       regexEnricher := api.NewRegexEnricher()
+       _ = regexEnricher.TryAdd(devops.DEPLOYMENT, `gitlabAutoSync`)
+       _ = regexEnricher.TryAdd(devops.PRODUCTION, `gitlabAutoSync`)
        taskData := &tasks.JenkinsTaskData{
                Options: &tasks.JenkinsOptions{
                        ConnectionId: 1,
                        JobName:      `devlake`,
                        JobFullName:  
`Test-jenkins-dir/test-jenkins-sub-dir/test-sub-sub-dir/devlake`,
                        JobPath:      
`job/Test-jenkins-dir/job/test-jenkins-sub-dir/job/test-sub-sub-dir/`,
-                       JenkinsTransformationRule: 
&models.JenkinsTransformationRule{
-                               DeploymentPattern: `gitlabAutoSync`,
-                               ProductionPattern: `gitlabAutoSync`,
-                       },
                },
+               RegexEnricher: regexEnricher,
        }
 
        // import raw data table
diff --git a/backend/plugins/jenkins/impl/impl.go 
b/backend/plugins/jenkins/impl/impl.go
index fa4986cf8..59941c543 100644
--- a/backend/plugins/jenkins/impl/impl.go
+++ b/backend/plugins/jenkins/impl/impl.go
@@ -24,6 +24,7 @@ import (
 
        "github.com/apache/incubator-devlake/core/context"
        "github.com/apache/incubator-devlake/core/dal"
+       "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
 
        "github.com/apache/incubator-devlake/core/errors"
        "github.com/apache/incubator-devlake/core/plugin"
@@ -131,10 +132,18 @@ func (p Jenkins) PrepareTaskData(taskCtx 
plugin.TaskContext, options map[string]
                        return nil, errors.BadInput.Wrap(err, "invalid value 
for `timeAfter`")
                }
        }
+       regexEnricher := helper.NewRegexEnricher()
+       if err := regexEnricher.TryAdd(devops.DEPLOYMENT, 
op.DeploymentPattern); err != nil {
+               return nil, errors.BadInput.Wrap(err, "invalid value for 
`deploymentPattern`")
+       }
+       if err := regexEnricher.TryAdd(devops.PRODUCTION, 
op.ProductionPattern); err != nil {
+               return nil, errors.BadInput.Wrap(err, "invalid value for 
`productionPattern`")
+       }
        taskData := &tasks.JenkinsTaskData{
-               Options:    op,
-               ApiClient:  apiClient,
-               Connection: connection,
+               Options:       op,
+               ApiClient:     apiClient,
+               Connection:    connection,
+               RegexEnricher: regexEnricher,
        }
        if !timeAfter.IsZero() {
                taskData.TimeAfter = &timeAfter
diff --git a/backend/plugins/jenkins/tasks/build_cicd_convertor.go 
b/backend/plugins/jenkins/tasks/build_cicd_convertor.go
index 35f150bfa..13a3d2059 100644
--- a/backend/plugins/jenkins/tasks/build_cicd_convertor.go
+++ b/backend/plugins/jenkins/tasks/build_cicd_convertor.go
@@ -18,6 +18,9 @@ limitations under the License.
 package tasks
 
 import (
+       "reflect"
+       "time"
+
        "github.com/apache/incubator-devlake/core/dal"
        "github.com/apache/incubator-devlake/core/errors"
        "github.com/apache/incubator-devlake/core/models/domainlayer"
@@ -26,8 +29,6 @@ import (
        "github.com/apache/incubator-devlake/core/plugin"
        "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
        "github.com/apache/incubator-devlake/plugins/jenkins/models"
-       "reflect"
-       "time"
 )
 
 var ConvertBuildsToCICDMeta = plugin.SubTaskMeta{
@@ -41,13 +42,6 @@ var ConvertBuildsToCICDMeta = plugin.SubTaskMeta{
 func ConvertBuildsToCICD(taskCtx plugin.SubTaskContext) (err errors.Error) {
        db := taskCtx.GetDal()
        data := taskCtx.GetData().(*JenkinsTaskData)
-       deploymentPattern := data.Options.DeploymentPattern
-       productionPattern := data.Options.ProductionPattern
-       regexEnricher := api.NewRegexEnricher()
-       err = regexEnricher.AddRegexp(deploymentPattern, productionPattern)
-       if err != nil {
-               return err
-       }
        clauses := []dal.Clause{
                dal.From("_tool_jenkins_builds"),
                dal.Where(`_tool_jenkins_builds.connection_id = ?
@@ -108,6 +102,8 @@ func ConvertBuildsToCICD(taskCtx plugin.SubTaskContext) 
(err errors.Error) {
                                DurationSec:  uint64(durationSec),
                                CreatedDate:  jenkinsBuild.StartTime,
                                CicdScopeId:  
jobIdGen.Generate(jenkinsBuild.ConnectionId, data.Options.JobFullName),
+                               Type:         
data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, 
jenkinsBuild.FullName),
+                               Environment:  
data.RegexEnricher.ReturnNameIfMatched(devops.PRODUCTION, 
jenkinsBuild.FullName),
                        }
                        jenkinsPipeline.RawDataOrigin = 
jenkinsBuild.RawDataOrigin
                        results = append(results, jenkinsPipeline)
@@ -124,12 +120,10 @@ func ConvertBuildsToCICD(taskCtx plugin.SubTaskContext) 
(err errors.Error) {
                                        StartedDate:  jenkinsBuild.StartTime,
                                        FinishedDate: 
jenkinsPipelineFinishedDate,
                                        CicdScopeId:  
jobIdGen.Generate(jenkinsBuild.ConnectionId, data.Options.JobFullName),
+                                       Type:         
data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, 
jenkinsBuild.FullName),
+                                       Environment:  
data.RegexEnricher.ReturnNameIfMatched(devops.PRODUCTION, 
jenkinsBuild.FullName),
+                                       PipelineId:   
buildIdGen.Generate(jenkinsBuild.ConnectionId, jenkinsBuild.FullName),
                                }
-                               jenkinsTask.Type = 
regexEnricher.GetEnrichResult(deploymentPattern, jenkinsTask.Name, 
devops.DEPLOYMENT)
-                               jenkinsTask.Environment = 
regexEnricher.GetEnrichResult(productionPattern, jenkinsTask.Name, 
devops.PRODUCTION)
-
-                               jenkinsTask.PipelineId = 
buildIdGen.Generate(jenkinsBuild.ConnectionId, jenkinsBuild.FullName)
-                               jenkinsTask.RawDataOrigin = 
jenkinsBuild.RawDataOrigin
                                results = append(results, jenkinsTask)
 
                        }
diff --git a/backend/plugins/jenkins/tasks/stage_convertor.go 
b/backend/plugins/jenkins/tasks/stage_convertor.go
index ec9d55b70..ebae9ecf3 100644
--- a/backend/plugins/jenkins/tasks/stage_convertor.go
+++ b/backend/plugins/jenkins/tasks/stage_convertor.go
@@ -62,13 +62,6 @@ var ConvertStagesMeta = plugin.SubTaskMeta{
 func ConvertStages(taskCtx plugin.SubTaskContext) (err errors.Error) {
        db := taskCtx.GetDal()
        data := taskCtx.GetData().(*JenkinsTaskData)
-       deploymentPattern := data.Options.DeploymentPattern
-       productionPattern := data.Options.ProductionPattern
-       regexEnricher := api.NewRegexEnricher()
-       err = regexEnricher.AddRegexp(deploymentPattern, productionPattern)
-       if err != nil {
-               return err
-       }
        clauses := []dal.Clause{
                dal.Select(`tjb.connection_id, tjs.build_name, tjs.id, 
tjs._raw_data_remark, tjs.name,
                        tjs._raw_data_id, tjs._raw_data_table, 
tjs._raw_data_params,
@@ -137,11 +130,9 @@ func ConvertStages(taskCtx plugin.SubTaskContext) (err 
errors.Error) {
                                StartedDate:  startedDate,
                                FinishedDate: jenkinsTaskFinishedDate,
                                CicdScopeId:  
jobIdGen.Generate(body.ConnectionId, data.Options.JobFullName),
+                               Type:         
data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, body.Name),
+                               Environment:  
data.RegexEnricher.ReturnNameIfMatched(devops.PRODUCTION, body.Name),
                        }
-                       jenkinsTask.Type = 
regexEnricher.GetEnrichResult(deploymentPattern, jenkinsTask.Name, 
devops.DEPLOYMENT)
-                       jenkinsTask.Environment = 
regexEnricher.GetEnrichResult(productionPattern, jenkinsTask.Name, 
devops.PRODUCTION)
-                       jenkinsTask.RawDataOrigin = body.RawDataOrigin
-
                        results = append(results, jenkinsTask)
                        return results, nil
                },
diff --git a/backend/plugins/jenkins/tasks/task_data.go 
b/backend/plugins/jenkins/tasks/task_data.go
index 2c340c1c4..f2bccf514 100644
--- a/backend/plugins/jenkins/tasks/task_data.go
+++ b/backend/plugins/jenkins/tasks/task_data.go
@@ -44,10 +44,11 @@ type JenkinsOptions struct {
 }
 
 type JenkinsTaskData struct {
-       Options    *JenkinsOptions
-       ApiClient  *api.ApiAsyncClient
-       Connection *models.JenkinsConnection
-       TimeAfter  *time.Time
+       Options       *JenkinsOptions
+       ApiClient     *api.ApiAsyncClient
+       Connection    *models.JenkinsConnection
+       TimeAfter     *time.Time
+       RegexEnricher *api.RegexEnricher
 }
 
 func DecodeTaskOptions(options map[string]interface{}) (*JenkinsOptions, 
errors.Error) {

Reply via email to