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/09/18 02:51:39 UTC
(incubator-devlake) branch zk-0918 updated: fix: update github trans-to-deployment scope config to pointer
This is an automated email from the ASF dual-hosted git repository.
abeizn pushed a commit to branch zk-0918
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/zk-0918 by this push:
new 41bced137 fix: update github trans-to-deployment scope config to pointer
41bced137 is described below
commit 41bced1371045efe7c6dd673c4fd08b3df221829
Author: abeizn <zi...@merico.dev>
AuthorDate: Wed Sep 18 10:51:26 2024 +0800
fix: update github trans-to-deployment scope config to pointer
---
backend/plugins/github/impl/impl.go | 12 ++++++++----
backend/plugins/github/models/scope_config.go | 4 ++--
backend/plugins/github/tasks/cicd_job_extractor.go | 7 +++++--
backend/plugins/github/tasks/cicd_run_extractor.go | 6 ++++--
backend/plugins/github_graphql/impl/impl.go | 15 ++++++++++-----
backend/plugins/github_graphql/tasks/job_extractor.go | 6 ++++--
6 files changed, 33 insertions(+), 17 deletions(-)
diff --git a/backend/plugins/github/impl/impl.go b/backend/plugins/github/impl/impl.go
index 1c09a7afe..52a772cf6 100644
--- a/backend/plugins/github/impl/impl.go
+++ b/backend/plugins/github/impl/impl.go
@@ -158,11 +158,15 @@ func (p Github) PrepareTaskData(taskCtx plugin.TaskContext, options map[string]i
}
regexEnricher := helper.NewRegexEnricher()
- if err = regexEnricher.TryAdd(devops.DEPLOYMENT, op.ScopeConfig.DeploymentPattern); err != nil {
- return nil, errors.BadInput.Wrap(err, "invalid value for `deploymentPattern`")
+ if op.ScopeConfig.DeploymentPattern != nil {
+ if err = regexEnricher.TryAdd(devops.DEPLOYMENT, *op.ScopeConfig.DeploymentPattern); err != nil {
+ return nil, errors.BadInput.Wrap(err, "invalid value for `deploymentPattern`")
+ }
}
- if err = regexEnricher.TryAdd(devops.PRODUCTION, op.ScopeConfig.ProductionPattern); err != nil {
- return nil, errors.BadInput.Wrap(err, "invalid value for `productionPattern`")
+ if op.ScopeConfig.ProductionPattern != nil {
+ if err = regexEnricher.TryAdd(devops.PRODUCTION, *op.ScopeConfig.ProductionPattern); err != nil {
+ return nil, errors.BadInput.Wrap(err, "invalid value for `productionPattern`")
+ }
}
if len(op.ScopeConfig.EnvNameList) > 0 || (len(op.ScopeConfig.EnvNameList) == 0 && op.ScopeConfig.EnvNamePattern == "") {
if err = regexEnricher.TryAddList(devops.ENV_NAME_PATTERN, op.ScopeConfig.EnvNameList...); err != nil {
diff --git a/backend/plugins/github/models/scope_config.go b/backend/plugins/github/models/scope_config.go
index e880d500e..2bd12cbc3 100644
--- a/backend/plugins/github/models/scope_config.go
+++ b/backend/plugins/github/models/scope_config.go
@@ -36,8 +36,8 @@ type GithubScopeConfig struct {
IssueTypeBug string `mapstructure:"issueTypeBug,omitempty" json:"issueTypeBug" gorm:"type:varchar(255)"`
IssueTypeIncident string `mapstructure:"issueTypeIncident,omitempty" json:"issueTypeIncident" gorm:"type:varchar(255)"`
IssueTypeRequirement string `mapstructure:"issueTypeRequirement,omitempty" json:"issueTypeRequirement" gorm:"type:varchar(255)"`
- DeploymentPattern string `mapstructure:"deploymentPattern,omitempty" json:"deploymentPattern" gorm:"type:varchar(255)"`
- ProductionPattern string `mapstructure:"productionPattern,omitempty" json:"productionPattern" gorm:"type:varchar(255)"`
+ DeploymentPattern *string `mapstructure:"deploymentPattern,omitempty" json:"deploymentPattern" gorm:"type:varchar(255)"`
+ ProductionPattern *string `mapstructure:"productionPattern,omitempty" json:"productionPattern" gorm:"type:varchar(255)"`
EnvNamePattern string `mapstructure:"envNamePattern,omitempty" json:"envNamePattern" gorm:"type:varchar(255)"`
EnvNameList []string `gorm:"type:json;serializer:json" json:"envNameList" mapstructure:"envNameList"`
Refdiff datatypes.JSONMap `mapstructure:"refdiff,omitempty" json:"refdiff" swaggertype:"object" format:"json"`
diff --git a/backend/plugins/github/tasks/cicd_job_extractor.go b/backend/plugins/github/tasks/cicd_job_extractor.go
index 5701476bc..bb57852a8 100644
--- a/backend/plugins/github/tasks/cicd_job_extractor.go
+++ b/backend/plugins/github/tasks/cicd_job_extractor.go
@@ -84,9 +84,12 @@ func ExtractJobs(taskCtx plugin.SubTaskContext) errors.Error {
RunnerID: githubJob.RunID,
RunnerName: githubJob.RunnerName,
RunnerGroupID: githubJob.RunnerGroupID,
- Type: data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, githubJob.Name),
- Environment: data.RegexEnricher.ReturnNameIfOmittedOrMatched(devops.PRODUCTION, githubJob.Name),
}
+ if data.Options.ScopeConfig.DeploymentPattern != nil || data.Options.ScopeConfig.ProductionPattern != nil {
+ githubJobResult.Type = data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, githubJob.Name)
+ githubJobResult.Environment = data.RegexEnricher.ReturnNameIfOmittedOrMatched(devops.PRODUCTION, githubJob.Name)
+ }
+
results = append(results, githubJobResult)
return results, nil
},
diff --git a/backend/plugins/github/tasks/cicd_run_extractor.go b/backend/plugins/github/tasks/cicd_run_extractor.go
index 1e6a3f41a..95d7aca9a 100644
--- a/backend/plugins/github/tasks/cicd_run_extractor.go
+++ b/backend/plugins/github/tasks/cicd_run_extractor.go
@@ -62,8 +62,10 @@ func ExtractRuns(taskCtx plugin.SubTaskContext) errors.Error {
}
githubRun.RepoId = repoId
githubRun.ConnectionId = data.Options.ConnectionId
- githubRun.Type = data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, githubRun.Name)
- githubRun.Environment = data.RegexEnricher.ReturnNameIfOmittedOrMatched(devops.PRODUCTION, githubRun.Name, githubRun.HeadBranch)
+ if data.Options.ScopeConfig.DeploymentPattern != nil || data.Options.ScopeConfig.ProductionPattern != nil {
+ githubRun.Type = data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, githubRun.Name)
+ githubRun.Environment = data.RegexEnricher.ReturnNameIfOmittedOrMatched(devops.PRODUCTION, githubRun.Name, githubRun.HeadBranch)
+ }
return []interface{}{githubRun}, nil
},
})
diff --git a/backend/plugins/github_graphql/impl/impl.go b/backend/plugins/github_graphql/impl/impl.go
index d4953a18f..5b82c753c 100644
--- a/backend/plugins/github_graphql/impl/impl.go
+++ b/backend/plugins/github_graphql/impl/impl.go
@@ -20,13 +20,14 @@ package impl
import (
"context"
"fmt"
- "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"net/http"
"net/url"
"reflect"
"strings"
"time"
+ "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
+
"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/core/log"
@@ -252,11 +253,15 @@ func (p GithubGraphql) PrepareTaskData(taskCtx plugin.TaskContext, options map[s
}
regexEnricher := helper.NewRegexEnricher()
- if err = regexEnricher.TryAdd(devops.DEPLOYMENT, op.ScopeConfig.DeploymentPattern); err != nil {
- return nil, errors.BadInput.Wrap(err, "invalid value for `deploymentPattern`")
+ if op.ScopeConfig.DeploymentPattern != nil {
+ if err = regexEnricher.TryAdd(devops.DEPLOYMENT, *op.ScopeConfig.DeploymentPattern); err != nil {
+ return nil, errors.BadInput.Wrap(err, "invalid value for `deploymentPattern`")
+ }
}
- if err = regexEnricher.TryAdd(devops.PRODUCTION, op.ScopeConfig.ProductionPattern); err != nil {
- return nil, errors.BadInput.Wrap(err, "invalid value for `productionPattern`")
+ if op.ScopeConfig.ProductionPattern != nil {
+ if err = regexEnricher.TryAdd(devops.PRODUCTION, *op.ScopeConfig.ProductionPattern); err != nil {
+ return nil, errors.BadInput.Wrap(err, "invalid value for `productionPattern`")
+ }
}
if err = regexEnricher.TryAdd(devops.ENV_NAME_PATTERN, op.ScopeConfig.EnvNamePattern); err != nil {
return nil, errors.BadInput.Wrap(err, "invalid value for `envNamePattern`")
diff --git a/backend/plugins/github_graphql/tasks/job_extractor.go b/backend/plugins/github_graphql/tasks/job_extractor.go
index 1bd035a7e..b60cb6b0e 100644
--- a/backend/plugins/github_graphql/tasks/job_extractor.go
+++ b/backend/plugins/github_graphql/tasks/job_extractor.go
@@ -75,8 +75,6 @@ func ExtractJobs(taskCtx plugin.SubTaskContext) errors.Error {
CompletedAt: checkRun.CompletedAt,
Name: checkRun.Name,
Steps: paramsBytes,
- Type: data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, checkRun.Name),
- Environment: data.RegexEnricher.ReturnNameIfOmittedOrMatched(devops.PRODUCTION, checkRun.Name),
// these columns can not fill by graphql
//HeadSha: ``, // use _tool_github_runs
//RunURL: ``,
@@ -86,6 +84,10 @@ func ExtractJobs(taskCtx plugin.SubTaskContext) errors.Error {
//RunnerName: ``, // not in use
//RunnerGroupID: ``, // not in use
}
+ if data.Options.ScopeConfig.DeploymentPattern != nil || data.Options.ScopeConfig.ProductionPattern != nil {
+ githubJob.Type = data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, checkRun.Name)
+ githubJob.Environment = data.RegexEnricher.ReturnNameIfOmittedOrMatched(devops.PRODUCTION, checkRun.Name)
+ }
results = append(results, githubJob)
}
return results, nil