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 2023/02/09 03:15:32 UTC
[incubator-devlake] branch main updated: fix(sonarqube): fix minor issues (#4364)
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 76fadf45e fix(sonarqube): fix minor issues (#4364)
76fadf45e is described below
commit 76fadf45ebaed9e77e006a0d9a5cd02504d5858a
Author: Warren Chen <yi...@merico.dev>
AuthorDate: Thu Feb 9 11:15:26 2023 +0800
fix(sonarqube): fix minor issues (#4364)
---
.../domainlayer/securitytesting/st_file_metrics.go | 2 +-
.../securitytesting/st_issue_code_blocks.go | 15 ++++---
.../domainlayer/securitytesting/st_issues.go | 46 +++++++++++-----------
.../20230208_add_security_testing.go | 2 +-
.../migrationscripts/archived/st_file_metrics.go | 4 +-
.../archived/st_issue_code_blocks.go | 15 ++++---
.../models/migrationscripts/archived/st_issues.go | 46 +++++++++++-----------
backend/plugins/sonarqube/impl/impl.go | 1 +
.../migrationscripts/20230111_add_init_tables.go | 2 +-
.../archived/sonarqube_file_metrics.go | 2 +-
.../migrationscripts/archived/sonarqube_hotspot.go | 12 +++---
.../migrationscripts/archived/sonarqube_issue.go | 10 ++---
.../archived/sonarqube_issue_code_block.go | 2 +-
.../sonarqube/models/sonarqube_file_metrics.go | 2 +-
.../plugins/sonarqube/models/sonarqube_hotspot.go | 12 +++---
.../plugins/sonarqube/models/sonarqube_issue.go | 10 ++---
.../sonarqube/models/sonarqube_issue_code_block.go | 8 ++--
.../plugins/sonarqube/tasks/hotspots_convertor.go | 29 ++++++++------
.../sonarqube/tasks/issue_code_blocks_convertor.go | 21 +++++-----
19 files changed, 122 insertions(+), 119 deletions(-)
diff --git a/backend/core/models/domainlayer/securitytesting/st_file_metrics.go b/backend/core/models/domainlayer/securitytesting/st_file_metrics.go
index b51ea665e..66513d3c5 100644
--- a/backend/core/models/domainlayer/securitytesting/st_file_metrics.go
+++ b/backend/core/models/domainlayer/securitytesting/st_file_metrics.go
@@ -25,10 +25,10 @@ type StFileMetrics struct {
domainlayer.DomainEntity
ComponentKey string
Project string `gorm:"index;type:varchar(255)"` //domain project key
+ BatchID string `json:"batch_id"`
FileName string `json:"file_name"`
FilePath string `json:"file_path"`
FileLanguage string `json:"file_language"`
- BatchID string `json:"batch_id"`
CodeSmells int `json:"code_smells"`
SqaleIndex string `json:"sqale_index"`
SqaleRating string `json:"sqale_rating"`
diff --git a/backend/core/models/domainlayer/securitytesting/st_issue_code_blocks.go b/backend/core/models/domainlayer/securitytesting/st_issue_code_blocks.go
index 1fd94a90d..e34356b4b 100644
--- a/backend/core/models/domainlayer/securitytesting/st_issue_code_blocks.go
+++ b/backend/core/models/domainlayer/securitytesting/st_issue_code_blocks.go
@@ -21,14 +21,13 @@ import "github.com/apache/incubator-devlake/core/models/domainlayer"
type StIssueCodeBlock struct {
domainlayer.DomainEntity
- IssueCodeBlockId string `json:"issueCodeBlockId"`
- IssueKey string `json:"key" gorm:"index"`
- Component string `json:"component" gorm:"index"`
- Msg string `json:"msg" `
- StartLine int `json:"startLine" `
- EndLine int `json:"endLine" `
- StartOffset int `json:"startOffset" `
- EndOffset int `json:"endOffset" `
+ IssueKey string `json:"key" gorm:"index"`
+ Component string `json:"component" gorm:"index"`
+ StartLine int `json:"startLine" `
+ EndLine int `json:"endLine" `
+ StartOffset int `json:"startOffset" `
+ EndOffset int `json:"endOffset" `
+ Msg string `json:"msg" `
}
func (StIssueCodeBlock) TableName() string {
diff --git a/backend/core/models/domainlayer/securitytesting/st_issues.go b/backend/core/models/domainlayer/securitytesting/st_issues.go
index 6105224eb..6cfb2d0f7 100644
--- a/backend/core/models/domainlayer/securitytesting/st_issues.go
+++ b/backend/core/models/domainlayer/securitytesting/st_issues.go
@@ -24,28 +24,30 @@ import (
type StIssue struct {
domainlayer.DomainEntity
- BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
- Project string `gorm:"index;type:varchar(255)"` //domain project key
- Rule string `json:"rule" gorm:"type:varchar(255)"`
- Severity string `json:"severity" gorm:"type:varchar(255)"`
- Component string `json:"component" gorm:"type:varchar(255)"`
- Line int `json:"line"`
- Status string `json:"status" gorm:"type:varchar(255)"`
- Message string `json:"message"`
- Debt string `json:"debt" gorm:"type:varchar(255)"`
- Effort string `json:"effort" gorm:"type:varchar(255)"`
- CommitAuthorEmail string `json:"author" gorm:"type:varchar(255)"`
- Assignee string `json:"assignee" gorm:"type:varchar(255)"`
- Hash string `json:"hash" gorm:"type:varchar(255)"`
- Tags string `json:"tags" gorm:"type:varchar(255)"`
- Type string `json:"type" gorm:"type:varchar(255)"`
- Scope string `json:"scope" gorm:"type:varchar(255)"`
- StartLine int `json:"startLine"`
- EndLine int `json:"endLine"`
- StartOffset int `json:"startOffset"`
- EndOffset int `json:"endOffset"`
- CreationDate *api.Iso8601Time `json:"creationDate"`
- UpdateDate *api.Iso8601Time `json:"updateDate"`
+ Rule string `json:"rule" gorm:"type:varchar(255)"`
+ Severity string `json:"severity" gorm:"type:varchar(255)"`
+ Component string `json:"component" gorm:"type:varchar(255)"`
+ Project string `gorm:"index;type:varchar(255)"` //domain project key
+ BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
+ Line int `json:"line"`
+ Status string `json:"status" gorm:"type:varchar(255)"`
+ Message string `json:"message"`
+ Debt string `json:"debt" gorm:"type:varchar(255)"`
+ Effort string `json:"effort" gorm:"type:varchar(255)"`
+ CommitAuthorEmail string `json:"author" gorm:"type:varchar(255)"`
+ Assignee string `json:"assignee" gorm:"type:varchar(255)"`
+ Hash string `json:"hash" gorm:"type:varchar(255)"`
+ Tags string `json:"tags" gorm:"type:varchar(255)"`
+ Type string `json:"type" gorm:"type:varchar(255)"`
+ Scope string `json:"scope" gorm:"type:varchar(255)"`
+ StartLine int `json:"startLine"`
+ EndLine int `json:"endLine"`
+ StartOffset int `json:"startOffset"`
+ EndOffset int `json:"endOffset"`
+ VulnerabilityProbability string `gorm:"type:varchar(100)"`
+ SecurityCategory string `gorm:"type:varchar(100)"`
+ CreationDate *api.Iso8601Time `json:"creationDate"`
+ UpdateDate *api.Iso8601Time `json:"updateDate"`
}
func (StIssue) TableName() string {
diff --git a/backend/core/models/migrationscripts/20230208_add_security_testing.go b/backend/core/models/migrationscripts/20230208_add_security_testing.go
index 9ece14f53..a4780ad13 100644
--- a/backend/core/models/migrationscripts/20230208_add_security_testing.go
+++ b/backend/core/models/migrationscripts/20230208_add_security_testing.go
@@ -37,7 +37,7 @@ func (u *addSecurityTesting) Up(basicRes context.BasicRes) errors.Error {
}
func (*addSecurityTesting) Version() uint64 {
- return 20230208000008
+ return 20230208000013
}
func (*addSecurityTesting) Name() string {
diff --git a/backend/core/models/migrationscripts/archived/st_file_metrics.go b/backend/core/models/migrationscripts/archived/st_file_metrics.go
index b93b51f02..bf81ea6ff 100644
--- a/backend/core/models/migrationscripts/archived/st_file_metrics.go
+++ b/backend/core/models/migrationscripts/archived/st_file_metrics.go
@@ -19,12 +19,12 @@ package archived
type StFileMetrics struct {
DomainEntity
- ComponentKey string `json:"component_key"`
+ ComponentKey string
Project string `gorm:"index;type:varchar(255)"` //domain project key
+ BatchID string `json:"batch_id"`
FileName string `json:"file_name"`
FilePath string `json:"file_path"`
FileLanguage string `json:"file_language"`
- BatchID string `json:"batch_id"`
CodeSmells int `json:"code_smells"`
SqaleIndex string `json:"sqale_index"`
SqaleRating string `json:"sqale_rating"`
diff --git a/backend/core/models/migrationscripts/archived/st_issue_code_blocks.go b/backend/core/models/migrationscripts/archived/st_issue_code_blocks.go
index 86044b90b..381710d9c 100644
--- a/backend/core/models/migrationscripts/archived/st_issue_code_blocks.go
+++ b/backend/core/models/migrationscripts/archived/st_issue_code_blocks.go
@@ -19,14 +19,13 @@ package archived
type StIssueCodeBlock struct {
DomainEntity
- IssueCodeBlockId string `json:"issueCodeBlockId"`
- IssueKey string `json:"key" gorm:"index"`
- Component string `json:"component" gorm:"index"`
- Msg string `json:"msg" `
- StartLine int `json:"startLine" `
- EndLine int `json:"endLine" `
- StartOffset int `json:"startOffset" `
- EndOffset int `json:"endOffset" `
+ IssueKey string `json:"key" gorm:"index"`
+ Component string `json:"component" gorm:"index"`
+ StartLine int `json:"startLine" `
+ EndLine int `json:"endLine" `
+ StartOffset int `json:"startOffset" `
+ EndOffset int `json:"endOffset" `
+ Msg string `json:"msg" `
}
func (StIssueCodeBlock) TableName() string {
diff --git a/backend/core/models/migrationscripts/archived/st_issues.go b/backend/core/models/migrationscripts/archived/st_issues.go
index 82f969801..7d5c3f0dc 100644
--- a/backend/core/models/migrationscripts/archived/st_issues.go
+++ b/backend/core/models/migrationscripts/archived/st_issues.go
@@ -23,28 +23,30 @@ import (
type StIssue struct {
DomainEntity
- BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
- Project string `gorm:"index;type:varchar(255)"` //domain project key
- Rule string `json:"rule" gorm:"type:varchar(255)"`
- Severity string `json:"severity" gorm:"type:varchar(255)"`
- Component string `json:"component" gorm:"type:varchar(255)"`
- Line int `json:"line"`
- Status string `json:"status" gorm:"type:varchar(255)"`
- Message string `json:"message"`
- Debt string `json:"debt" gorm:"type:varchar(255)"`
- Effort string `json:"effort" gorm:"type:varchar(255)"`
- CommitAuthorEmail string `json:"author" gorm:"type:varchar(255)"`
- Assignee string `json:"assignee" gorm:"type:varchar(255)"`
- Hash string `json:"hash" gorm:"type:varchar(255)"`
- Tags string `json:"tags" gorm:"type:varchar(255)"`
- Type string `json:"type" gorm:"type:varchar(255)"`
- Scope string `json:"scope" gorm:"type:varchar(255)"`
- StartLine int `json:"startLine"`
- EndLine int `json:"endLine"`
- StartOffset int `json:"startOffset"`
- EndOffset int `json:"endOffset"`
- CreationDate *api.Iso8601Time `json:"creationDate"`
- UpdateDate *api.Iso8601Time `json:"updateDate"`
+ Rule string `json:"rule" gorm:"type:varchar(255)"`
+ Severity string `json:"severity" gorm:"type:varchar(255)"`
+ Component string `json:"component" gorm:"type:varchar(255)"`
+ Project string `gorm:"index;type:varchar(255)"` //domain project key
+ BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
+ Line int `json:"line"`
+ Status string `json:"status" gorm:"type:varchar(255)"`
+ Message string `json:"message"`
+ Debt string `json:"debt" gorm:"type:varchar(255)"`
+ Effort string `json:"effort" gorm:"type:varchar(255)"`
+ CommitAuthorEmail string `json:"author" gorm:"type:varchar(255)"`
+ Assignee string `json:"assignee" gorm:"type:varchar(255)"`
+ Hash string `json:"hash" gorm:"type:varchar(255)"`
+ Tags string `json:"tags" gorm:"type:varchar(255)"`
+ Type string `json:"type" gorm:"type:varchar(255)"`
+ Scope string `json:"scope" gorm:"type:varchar(255)"`
+ StartLine int `json:"startLine"`
+ EndLine int `json:"endLine"`
+ StartOffset int `json:"startOffset"`
+ EndOffset int `json:"endOffset"`
+ VulnerabilityProbability string `gorm:"type:varchar(100)"`
+ SecurityCategory string `gorm:"type:varchar(100)"`
+ CreationDate *api.Iso8601Time `json:"creationDate"`
+ UpdateDate *api.Iso8601Time `json:"updateDate"`
}
func (StIssue) TableName() string {
diff --git a/backend/plugins/sonarqube/impl/impl.go b/backend/plugins/sonarqube/impl/impl.go
index b9412d891..58f44d901 100644
--- a/backend/plugins/sonarqube/impl/impl.go
+++ b/backend/plugins/sonarqube/impl/impl.go
@@ -68,6 +68,7 @@ func (p Sonarqube) SubTaskMetas() []plugin.SubTaskMeta {
tasks.ConvertIssueCodeBlocksMeta,
tasks.ConvertHotspotsMeta,
tasks.ConvertFileMetricsMeta,
+ tasks.ConvertAccountsMeta,
}
}
diff --git a/backend/plugins/sonarqube/models/migrationscripts/20230111_add_init_tables.go b/backend/plugins/sonarqube/models/migrationscripts/20230111_add_init_tables.go
index 4dd8e6238..09b682b50 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/20230111_add_init_tables.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/20230111_add_init_tables.go
@@ -40,7 +40,7 @@ func (*addInitTables) Up(basicRes context.BasicRes) errors.Error {
}
func (*addInitTables) Version() uint64 {
- return 20230207220021
+ return 20230207220022
}
func (*addInitTables) Name() string {
diff --git a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_file_metrics.go b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_file_metrics.go
index 6f17c2682..1466425c1 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_file_metrics.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_file_metrics.go
@@ -25,10 +25,10 @@ type SonarqubeFileMetrics struct {
ConnectionId uint64 `gorm:"primaryKey"`
ComponentKey string `json:"component_key" gorm:"primaryKey"`
Project string `json:"project" gorm:"index"`
+ BatchID string `json:"batch_id"`
FileName string `json:"file_name"`
FilePath string `json:"file_path"`
FileLanguage string `json:"file_language"`
- BatchID string `json:"batch_id"`
CodeSmells int `json:"code_smells"`
SqaleIndex string `json:"sqale_index"`
SqaleRating string `json:"sqale_rating"`
diff --git a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_hotspot.go b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_hotspot.go
index f8259b654..3347f0936 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_hotspot.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_hotspot.go
@@ -25,19 +25,19 @@ import (
type SonarqubeHotspot struct {
ConnectionId uint64 `gorm:"primaryKey"`
Key string `json:"key" gorm:"primaryKey"`
+ RuleKey string `json:"ruleKey"`
+ Component string `json:"component" gorm:"index"`
Project string `json:"project" gorm:"index"`
BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
- Component string `json:"component" gorm:"index"`
- SecurityCategory string `json:"securityCategory"`
- VulnerabilityProbability string `json:"vulnerabilityProbability"`
- Status string `json:"status"`
Line int `json:"line"`
+ Status string `json:"status"`
Message string `json:"message"`
- Assignee string `json:"assignee"`
Author string `json:"author"`
+ Assignee string `json:"assignee"`
+ SecurityCategory string `json:"securityCategory"`
+ VulnerabilityProbability string `json:"vulnerabilityProbability"`
CreationDate *api.Iso8601Time `json:"creationDate"`
UpdateDate *api.Iso8601Time `json:"updateDate"`
- RuleKey string `json:"ruleKey"`
archived.NoPKModel
}
diff --git a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue.go b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue.go
index 287a393ed..0b2c0f148 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue.go
@@ -24,12 +24,12 @@ import (
type SonarqubeIssue struct {
ConnectionId uint64 `gorm:"primaryKey"`
- BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Key string `json:"key" gorm:"primaryKey"`
- Rule string `json:"rule"`
- Severity string `json:"severity"`
- Component string `json:"component"`
- Project string `json:"project"`
+ Rule string `json:"rule" gorm:"type:varchar(255)"`
+ Severity string `json:"severity" gorm:"type:varchar(255)"`
+ Component string `json:"component" gorm:"type:varchar(255)"`
+ Project string `gorm:"index;type:varchar(255)"` //domain project key
+ BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Line int `json:"line"`
Status string `json:"status"`
Message string `json:"message"`
diff --git a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue_code_block.go b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue_code_block.go
index cab175c35..d94d911ea 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue_code_block.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue_code_block.go
@@ -24,11 +24,11 @@ type SonarqubeIssueCodeBlock struct {
Id string `gorm:"primaryKey"`
IssueKey string `json:"key" gorm:"index"`
Component string `json:"component" gorm:"index"`
- Msg string `json:"msg" `
StartLine int `json:"startLine" `
EndLine int `json:"endLine" `
StartOffset int `json:"startOffset" `
EndOffset int `json:"endOffset" `
+ Msg string `json:"msg" `
archived.NoPKModel
}
diff --git a/backend/plugins/sonarqube/models/sonarqube_file_metrics.go b/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
index b0718e6e5..773dc7c58 100644
--- a/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
+++ b/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
@@ -25,10 +25,10 @@ type SonarqubeFileMetrics struct {
ConnectionId uint64 `gorm:"primaryKey"`
ComponentKey string `json:"component_key" gorm:"primaryKey"`
Project string `json:"project" gorm:"index"`
+ BatchID string `json:"batch_id"`
FileName string `json:"file_name"`
FilePath string `json:"file_path"`
FileLanguage string `json:"file_language"`
- BatchID string `json:"batch_id"`
CodeSmells int `json:"code_smells"`
SqaleIndex string `json:"sqale_index"`
SqaleRating string `json:"sqale_rating"`
diff --git a/backend/plugins/sonarqube/models/sonarqube_hotspot.go b/backend/plugins/sonarqube/models/sonarqube_hotspot.go
index b8d62a63d..8e085515e 100644
--- a/backend/plugins/sonarqube/models/sonarqube_hotspot.go
+++ b/backend/plugins/sonarqube/models/sonarqube_hotspot.go
@@ -25,19 +25,19 @@ import (
type SonarqubeHotspot struct {
ConnectionId uint64 `gorm:"primaryKey"`
Key string `json:"key" gorm:"primaryKey"`
- BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
+ RuleKey string `json:"ruleKey"`
Component string `json:"component" gorm:"index"`
Project string `json:"project" gorm:"index"`
- SecurityCategory string `json:"securityCategory"`
- VulnerabilityProbability string `json:"vulnerabilityProbability"`
- Status string `json:"status"`
+ BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Line int `json:"line"`
+ Status string `json:"status"`
Message string `json:"message"`
- Assignee string `json:"assignee"`
Author string `json:"author"`
+ Assignee string `json:"assignee"`
+ SecurityCategory string `json:"securityCategory"`
+ VulnerabilityProbability string `json:"vulnerabilityProbability"`
CreationDate *api.Iso8601Time `json:"creationDate"`
UpdateDate *api.Iso8601Time `json:"updateDate"`
- RuleKey string `json:"ruleKey"`
common.NoPKModel
}
diff --git a/backend/plugins/sonarqube/models/sonarqube_issue.go b/backend/plugins/sonarqube/models/sonarqube_issue.go
index d5de96cd3..b089b5b8e 100644
--- a/backend/plugins/sonarqube/models/sonarqube_issue.go
+++ b/backend/plugins/sonarqube/models/sonarqube_issue.go
@@ -24,12 +24,12 @@ import (
type SonarqubeIssue struct {
ConnectionId uint64 `gorm:"primaryKey"`
- BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Key string `json:"key" gorm:"primaryKey"`
- Rule string `json:"rule"`
- Severity string `json:"severity"`
- Component string `json:"component"`
- Project string `json:"project"`
+ Rule string `json:"rule" gorm:"type:varchar(255)"`
+ Severity string `json:"severity" gorm:"type:varchar(255)"`
+ Component string `json:"component" gorm:"type:varchar(255)"`
+ Project string `gorm:"index;type:varchar(255)"` //domain project key
+ BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Line int `json:"line"`
Status string `json:"status"`
Message string `json:"message"`
diff --git a/backend/plugins/sonarqube/models/sonarqube_issue_code_block.go b/backend/plugins/sonarqube/models/sonarqube_issue_code_block.go
index d16939d3e..8e4e7ea86 100644
--- a/backend/plugins/sonarqube/models/sonarqube_issue_code_block.go
+++ b/backend/plugins/sonarqube/models/sonarqube_issue_code_block.go
@@ -17,21 +17,19 @@ limitations under the License.
package models
-import (
- "github.com/apache/incubator-devlake/core/models/common"
-)
+import "github.com/apache/incubator-devlake/core/models/common"
type SonarqubeIssueCodeBlock struct {
- common.NoPKModel
ConnectionId uint64 `gorm:"primaryKey"`
Id string `gorm:"primaryKey"`
IssueKey string `json:"key" gorm:"index"`
Component string `json:"component" gorm:"index"`
- Msg string `json:"msg" `
StartLine int `json:"startLine" `
EndLine int `json:"endLine" `
StartOffset int `json:"startOffset" `
EndOffset int `json:"endOffset" `
+ Msg string `json:"msg" `
+ common.NoPKModel
}
func (SonarqubeIssueCodeBlock) TableName() string {
diff --git a/backend/plugins/sonarqube/tasks/hotspots_convertor.go b/backend/plugins/sonarqube/tasks/hotspots_convertor.go
index 065367c05..50cb77c5f 100644
--- a/backend/plugins/sonarqube/tasks/hotspots_convertor.go
+++ b/backend/plugins/sonarqube/tasks/hotspots_convertor.go
@@ -56,19 +56,22 @@ func ConvertHotspots(taskCtx plugin.SubTaskContext) errors.Error {
Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
sonarqubeHotspot := inputRow.(*sonarqubeModels.SonarqubeHotspot)
domainHotspot := &securitytesting.StIssue{
- DomainEntity: domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeHotspot.Key)},
- BatchId: sonarqubeHotspot.BatchId,
- Component: sonarqubeHotspot.Component,
- Project: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeHotspot.Project),
- Line: sonarqubeHotspot.Line,
- Status: sonarqubeHotspot.Status,
- Message: sonarqubeHotspot.Message,
- CommitAuthorEmail: sonarqubeHotspot.Author,
- Assignee: sonarqubeHotspot.Assignee,
- Rule: sonarqubeHotspot.RuleKey,
- CreationDate: sonarqubeHotspot.CreationDate,
- UpdateDate: sonarqubeHotspot.UpdateDate,
- Type: "HOTSPOTS",
+ DomainEntity: domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeHotspot.Key)},
+ BatchId: sonarqubeHotspot.BatchId,
+ Component: sonarqubeHotspot.Component,
+ Project: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeHotspot.Project),
+ Line: sonarqubeHotspot.Line,
+ StartLine: sonarqubeHotspot.Line,
+ Status: sonarqubeHotspot.Status,
+ Message: sonarqubeHotspot.Message,
+ CommitAuthorEmail: sonarqubeHotspot.Author,
+ Assignee: sonarqubeHotspot.Assignee,
+ Rule: sonarqubeHotspot.RuleKey,
+ CreationDate: sonarqubeHotspot.CreationDate,
+ UpdateDate: sonarqubeHotspot.UpdateDate,
+ Type: "HOTSPOTS",
+ VulnerabilityProbability: sonarqubeHotspot.VulnerabilityProbability,
+ Severity: sonarqubeHotspot.SecurityCategory,
}
return []interface{}{
domainHotspot,
diff --git a/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go b/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go
index 9d92ebea3..1676e3002 100644
--- a/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go
+++ b/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go
@@ -37,8 +37,8 @@ func ConvertIssueCodeBlocks(taskCtx plugin.SubTaskContext) errors.Error {
cursor, err := db.Cursor(
dal.From("_tool_sonarqube_issue_code_blocks icb"),
- dal.Join("_tool_sonarqube_issues i on i.key = icb.issue_key"),
- dal.Where("connection_id = ? and project = ?", data.Options.ConnectionId, data.Options.ProjectKey))
+ dal.Join("left join _tool_sonarqube_issues i on i.`key` = icb.issue_key"),
+ dal.Where("icb.connection_id = ? and project = ?", data.Options.ConnectionId, data.Options.ProjectKey))
if err != nil {
return err
}
@@ -53,15 +53,14 @@ func ConvertIssueCodeBlocks(taskCtx plugin.SubTaskContext) errors.Error {
Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
sonarqubeIssueCodeBlock := inputRow.(*models.SonarqubeIssueCodeBlock)
domainIssueCodeBlock := &securitytesting.StIssueCodeBlock{
- DomainEntity: domainlayer.DomainEntity{Id: idGen.Generate(data.Options.ConnectionId, sonarqubeIssueCodeBlock.Id)},
- IssueCodeBlockId: sonarqubeIssueCodeBlock.Id,
- IssueKey: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeIssueCodeBlock.IssueKey),
- Component: sonarqubeIssueCodeBlock.Component,
- Msg: sonarqubeIssueCodeBlock.Msg,
- StartLine: sonarqubeIssueCodeBlock.StartLine,
- EndLine: sonarqubeIssueCodeBlock.EndLine,
- StartOffset: sonarqubeIssueCodeBlock.StartOffset,
- EndOffset: sonarqubeIssueCodeBlock.EndOffset,
+ DomainEntity: domainlayer.DomainEntity{Id: idGen.Generate(data.Options.ConnectionId, sonarqubeIssueCodeBlock.Id)},
+ IssueKey: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeIssueCodeBlock.IssueKey),
+ Component: sonarqubeIssueCodeBlock.Component,
+ Msg: sonarqubeIssueCodeBlock.Msg,
+ StartLine: sonarqubeIssueCodeBlock.StartLine,
+ EndLine: sonarqubeIssueCodeBlock.EndLine,
+ StartOffset: sonarqubeIssueCodeBlock.StartOffset,
+ EndOffset: sonarqubeIssueCodeBlock.EndOffset,
}
return []interface{}{