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 40be19449 fix: error on creating scope config (#5511)
40be19449 is described below
commit 40be19449afc94e3b6b337a95fb0ae68fd86b2e2
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Jun 16 18:45:42 2023 +0800
fix: error on creating scope config (#5511)
---
backend/plugins/jira/models/scope_config.go | 25 -------------------------
backend/plugins/jira/tasks/task_data.go | 27 ++++++++++++++++++++++++---
2 files changed, 24 insertions(+), 28 deletions(-)
diff --git a/backend/plugins/jira/models/scope_config.go
b/backend/plugins/jira/models/scope_config.go
index d09b2db4e..82c3f4f52 100644
--- a/backend/plugins/jira/models/scope_config.go
+++ b/backend/plugins/jira/models/scope_config.go
@@ -19,9 +19,6 @@ package models
import (
"encoding/json"
- "regexp"
-
- "github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/core/models/common"
)
@@ -40,25 +37,3 @@ type JiraScopeConfig struct {
func (r JiraScopeConfig) TableName() string {
return "_tool_jira_scope_configs"
}
-
-func (r JiraScopeConfig) VerifyRegexp() errors.Error {
- var err error
- if r.RemotelinkCommitShaPattern != "" {
- _, err = regexp.Compile(r.RemotelinkCommitShaPattern)
- if err != nil {
- return errors.Convert(err)
- }
- }
- var repoPatterns []string
- err = json.Unmarshal(r.RemotelinkRepoPattern, &repoPatterns)
- if err != nil {
- return errors.Convert(err)
- }
- for _, pattern := range repoPatterns {
- _, err = regexp.Compile(pattern)
- if err != nil {
- return errors.Convert(err)
- }
- }
- return nil
-}
diff --git a/backend/plugins/jira/tasks/task_data.go
b/backend/plugins/jira/tasks/task_data.go
index 5bb3eb79a..c6c19f27d 100644
--- a/backend/plugins/jira/tasks/task_data.go
+++ b/backend/plugins/jira/tasks/task_data.go
@@ -20,6 +20,7 @@ package tasks
import (
"encoding/json"
"fmt"
+ "regexp"
"time"
"github.com/apache/incubator-devlake/core/errors"
@@ -57,7 +58,30 @@ type JiraScopeConfig struct {
ApplicationType string `json:"applicationType"`
}
+func (r *JiraScopeConfig) VerifyRegexp() errors.Error {
+ var err error
+ if r.RemotelinkCommitShaPattern != "" {
+ _, err = regexp.Compile(r.RemotelinkCommitShaPattern)
+ if err != nil {
+ return errors.Convert(err)
+ }
+ }
+ for _, pattern := range r.RemotelinkRepoPattern {
+ if pattern.Regex == "" {
+ return errors.BadInput.New("empty regex in
remotelinkRepoPattern")
+ }
+ _, err = regexp.Compile(pattern.Regex)
+ if err != nil {
+ return errors.Convert(err)
+ }
+ }
+ return nil
+}
+
func (r *JiraScopeConfig) ToDb() (*models.JiraScopeConfig, errors.Error) {
+ if err1 := r.VerifyRegexp(); err1 != nil {
+ return nil, err1
+ }
blob, err := json.Marshal(r.TypeMappings)
if err != nil {
return nil, errors.Default.Wrap(err, "error marshaling
TypeMappings")
@@ -80,9 +104,6 @@ func (r *JiraScopeConfig) ToDb() (*models.JiraScopeConfig,
errors.Error) {
ApplicationType: r.ApplicationType,
}
scopeConfig.Entities = r.Entities
- if err1 := scopeConfig.VerifyRegexp(); err1 != nil {
- return nil, err1
- }
return scopeConfig, nil
}