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 88a3a7965 fix(sonarqube): fix field UnoveredLines (#4515)
88a3a7965 is described below

commit 88a3a7965532af59b6ad884255e8b4afab4dfd9b
Author: Warren Chen <[email protected]>
AuthorDate: Fri Feb 24 16:33:39 2023 +0800

    fix(sonarqube): fix field UnoveredLines (#4515)
    
    * fix(sonarqube): fix field UnoveredLines
    
    * fix(sonarqube): modify e2e
---
 .../core/models/domainlayer/codequality/cq_file_metrics.go   |  2 +-
 .../models/migrationscripts/20230208_add_code_quality.go     |  2 +-
 .../core/models/migrationscripts/archived/cq_file_metrics.go |  2 +-
 .../e2e/raw_tables/_raw_sonarqube_api_filemetrics.csv        | 12 ++++++------
 .../raw_tables/_raw_sonarqube_api_filemetrics_additional.csv | 12 ++++++------
 .../e2e/snapshot_tables/_tool_sonarqube_filemetrics.csv      | 12 +++++++-----
 .../plugins/sonarqube/e2e/snapshot_tables/filemetrics.csv    | 11 +++++++----
 .../models/migrationscripts/20230111_add_init_tables.go      |  2 +-
 .../migrationscripts/archived/sonarqube_file_metrics.go      |  2 +-
 backend/plugins/sonarqube/models/sonarqube_file_metrics.go   |  4 ++--
 backend/plugins/sonarqube/tasks/filemetrics_collector.go     |  2 +-
 backend/plugins/sonarqube/tasks/filemetrics_convertor.go     |  2 +-
 backend/plugins/sonarqube/tasks/shared.go                    |  2 +-
 13 files changed, 36 insertions(+), 31 deletions(-)

diff --git a/backend/core/models/domainlayer/codequality/cq_file_metrics.go 
b/backend/core/models/domainlayer/codequality/cq_file_metrics.go
index 8aa25bc87..4f70dd533 100644
--- a/backend/core/models/domainlayer/codequality/cq_file_metrics.go
+++ b/backend/core/models/domainlayer/codequality/cq_file_metrics.go
@@ -38,7 +38,7 @@ type CqFileMetrics struct {
        SecurityHotspotsReviewed            float64
        SecurityReviewRating                string `gorm:"type:varchar(20)"`
        Ncloc                               int    `json:"ncloc"`
-       UnoveredLines                       int
+       UncoveredLines                      int
        LinesToCover                        int     `json:"lines_to_cover"`
        DuplicatedLinesDensity              float64 
`json:"duplicated_lines_density"`
        DuplicatedBlocks                    int     `json:"duplicated_blocks"`
diff --git a/backend/core/models/migrationscripts/20230208_add_code_quality.go 
b/backend/core/models/migrationscripts/20230208_add_code_quality.go
index 3b5b71626..4cb43071e 100644
--- a/backend/core/models/migrationscripts/20230208_add_code_quality.go
+++ b/backend/core/models/migrationscripts/20230208_add_code_quality.go
@@ -46,7 +46,7 @@ func (u *addCodeQuality) Up(basicRes context.BasicRes) 
errors.Error {
 }
 
 func (*addCodeQuality) Version() uint64 {
-       return 20230221000035
+       return 20230221000077
 }
 
 func (*addCodeQuality) Name() string {
diff --git a/backend/core/models/migrationscripts/archived/cq_file_metrics.go 
b/backend/core/models/migrationscripts/archived/cq_file_metrics.go
index 8b716960e..fcda4f55a 100644
--- a/backend/core/models/migrationscripts/archived/cq_file_metrics.go
+++ b/backend/core/models/migrationscripts/archived/cq_file_metrics.go
@@ -34,7 +34,7 @@ type CqFileMetrics struct {
        SecurityHotspotsReviewed            float64
        SecurityReviewRating                string `gorm:"type:varchar(20)"`
        Ncloc                               int    `json:"ncloc"`
-       UnoveredLines                       int
+       UncoveredLines                      int
        LinesToCover                        int     `json:"lines_to_cover"`
        DuplicatedLinesDensity              float64 
`json:"duplicated_lines_density"`
        DuplicatedBlocks                    int     `json:"duplicated_blocks"`
diff --git 
a/backend/plugins/sonarqube/e2e/raw_tables/_raw_sonarqube_api_filemetrics.csv 
b/backend/plugins/sonarqube/e2e/raw_tables/_raw_sonarqube_api_filemetrics.csv
index b7619a264..ce5bb1cc5 100644
--- 
a/backend/plugins/sonarqube/e2e/raw_tables/_raw_sonarqube_api_filemetrics.csv
+++ 
b/backend/plugins/sonarqube/e2e/raw_tables/_raw_sonarqube_api_filemetrics.csv
@@ -1,7 +1,7 @@
 "id","params","data","url","input","created_at"
-1,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryYAvqC8Tm0EnSMh"",""key"":""testDevLake:backend/plugins/tapd/tasks/company_extractor.go"",""name"":""company_extractor.go"",""qualifier"":""FIL"",""path"":""backend/plugins/tapd/tasks/company_extractor.go"",""language"":""go"",""measures"":[{""metric"":""security_review_rating"",""value"":""1.0"",""bestValue"":true},{""metric"":""lines_to_cover"",""value"":""14""},{""metric"":""ncloc"",""value"":""40""},{""metric"":"
 [...]
-2,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryYBvqC8Tm0EnSNE"",""key"":""testDevLake:backend/plugins/tapd/e2e/company_test.go"",""name"":""company_test.go"",""qualifier"":""FIL"",""path"":""backend/plugins/tapd/e2e/company_test.go"",""language"":""go"",""measures"":[{""metric"":""security_review_rating"",""value"":""1.0"",""bestValue"":true},{""metric"":""lines_to_cover"",""value"":""7""},{""metric"":""ncloc"",""value"":""41""},{""metric"":""reliability_rating"
 [...]
-3,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryYPvqC8Tm0EnSWk"",""key"":""testDevLake:backend/core/models/domainlayer/code/component.go"",""name"":""component.go"",""qualifier"":""FIL"",""path"":""backend/core/models/domainlayer/code/component.go"",""language"":""go"",""measures"":[{""metric"":""security_review_rating"",""value"":""1.0"",""bestValue"":true},{""metric"":""lines_to_cover"",""value"":""1""},{""metric"":""ncloc"",""value"":""9""},{""metric"":""relia
 [...]
-4,"{""connectionId"":1,""ProjectKey"":""testNone""}","{""id"":""AYZ8ryYRvqC8Tm0EnSbH"",""key"":""testDevLake:backend/mocks/core/plugin/CompositeDataSourcePluginBlueprintV200.go"",""name"":""CompositeDataSourcePluginBlueprintV200.go"",""qualifier"":""FIL"",""path"":""backend/mocks/core/plugin/CompositeDataSourcePluginBlueprintV200.go"",""language"":""go"",""measures"":[{""metric"":""security_review_rating"",""value"":""1.0"",""bestValue"":true},{""metric"":""lines_to_cover"",""value"":""3
 [...]
-5,"{""connectionId"":2,""ProjectKey"":""testNone""}","{""id"":""AYZ8ryYRvqC8Tm0EnSba"",""key"":""testDevLake:backend/mocks/core/plugin/CompositeMetricPluginBlueprintV200.go"",""name"":""CompositeMetricPluginBlueprintV200.go"",""qualifier"":""FIL"",""path"":""backend/mocks/core/plugin/CompositeMetricPluginBlueprintV200.go"",""language"":""go"",""measures"":[{""metric"":""security_review_rating"",""value"":""1.0"",""bestValue"":true},{""metric"":""lines_to_cover"",""value"":""28""},{""metr
 [...]
-6,"{""connectionId"":1,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryYRvqC8Tm0EnSbc"",""key"":""testDevLake:backend/mocks/core/plugin/CompositePluginBlueprintV200.go"",""name"":""CompositePluginBlueprintV200.go"",""qualifier"":""FIL"",""path"":""backend/mocks/core/plugin/CompositePluginBlueprintV200.go"",""language"":""go"",""measures"":[{""metric"":""security_review_rating"",""value"":""1.0"",""bestValue"":true},{""metric"":""lines_to_cover"",""value"":""45""},{""metric"":""ncloc"",
 [...]
+23927,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSH_"",""key"":""testDevLake:backend/plugins/jenkins/tasks/api_client.go"",""name"":""api_client.go"",""qualifier"":""FIL"",""path"":""backend/plugins/jenkins/tasks/api_client.go"",""language"":""go"",""measures"":[{""metric"":""ncloc"",""value"":""25""},{""metric"":""lines_to_cover"",""value"":""8""},{""metric"":""uncovered_lines"",""value"":""8"",""bestValue"":false},{""metric"":""sqale_rating"",""va
 [...]
+24194,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSI-"",""key"":""testDevLake:backend/plugins/gitlab/e2e/issues_test.go"",""name"":""issues_test.go"",""qualifier"":""FIL"",""path"":""backend/plugins/gitlab/e2e/issues_test.go"",""language"":""go"",""measures"":[{""metric"":""ncloc"",""value"":""117""},{""metric"":""lines_to_cover"",""value"":""18""},{""metric"":""uncovered_lines"",""value"":""18"",""bestValue"":false},{""metric"":""duplicated_blocks""
 [...]
+24712,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSI1"",""key"":""testDevLake:backend/plugins/jenkins/impl/impl.go"",""name"":""impl.go"",""qualifier"":""FIL"",""path"":""backend/plugins/jenkins/impl/impl.go"",""language"":""go"",""measures"":[{""metric"":""ncloc"",""value"":""234""},{""metric"":""lines_to_cover"",""value"":""92""},{""metric"":""uncovered_lines"",""value"":""92"",""bestValue"":false},{""metric"":""sqale_rating"",""value"":""1.0"",""b
 [...]
+24093,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSI4"",""key"":""testDevLake:backend/plugins/gitlab/e2e/mr_commits_test.go"",""name"":""mr_commits_test.go"",""qualifier"":""FIL"",""path"":""backend/plugins/gitlab/e2e/mr_commits_test.go"",""language"":""go"",""measures"":[{""metric"":""ncloc"",""value"":""139""},{""metric"":""lines_to_cover"",""value"":""24""},{""metric"":""uncovered_lines"",""value"":""24"",""bestValue"":false},{""metric"":""duplica
 [...]
+24107,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSI5"",""key"":""testDevLake:backend/plugins/gitlab/e2e/mr_test.go"",""name"":""mr_test.go"",""qualifier"":""FIL"",""path"":""backend/plugins/gitlab/e2e/mr_test.go"",""language"":""go"",""measures"":[{""metric"":""ncloc"",""value"":""103""},{""metric"":""lines_to_cover"",""value"":""15""},{""metric"":""uncovered_lines"",""value"":""15"",""bestValue"":false},{""metric"":""duplicated_blocks"",""value"":"
 [...]
+24154,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSI6"",""key"":""testDevLake:backend/plugins/gitlab/e2e/pipelines_test.go"",""name"":""pipelines_test.go"",""qualifier"":""FIL"",""path"":""backend/plugins/gitlab/e2e/pipelines_test.go"",""language"":""go"",""measures"":[{""metric"":""ncloc"",""value"":""64""},{""metric"":""lines_to_cover"",""value"":""15""},{""metric"":""uncovered_lines"",""value"":""15"",""bestValue"":false},{""metric"":""sqale_ratin
 [...]
diff --git 
a/backend/plugins/sonarqube/e2e/raw_tables/_raw_sonarqube_api_filemetrics_additional.csv
 
b/backend/plugins/sonarqube/e2e/raw_tables/_raw_sonarqube_api_filemetrics_additional.csv
index a01b0a5f4..aa78b18ca 100644
--- 
a/backend/plugins/sonarqube/e2e/raw_tables/_raw_sonarqube_api_filemetrics_additional.csv
+++ 
b/backend/plugins/sonarqube/e2e/raw_tables/_raw_sonarqube_api_filemetrics_additional.csv
@@ -1,7 +1,7 @@
 "id","params","data","url","input","created_at"
-1,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryYAvqC8Tm0EnSMh"",""key"":""testDevLake:backend/plugins/tapd/tasks/company_extractor.go"",""name"":""company_extractor.go"",""qualifier"":""FIL"",""path"":""backend/plugins/tapd/tasks/company_extractor.go"",""language"":""go"",""measures"":[{""metric"":""complexity"",""value"":""3""},{""metric"":""cognitive_complexity"",""value"":""3"",""bestValue"":false},{""metric"":""duplicated_lines"",""value"":""10"",""bestValue
 [...]
-2,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryYBvqC8Tm0EnSNE"",""key"":""testDevLake:backend/plugins/tapd/e2e/company_test.go"",""name"":""company_test.go"",""qualifier"":""FIL"",""path"":""backend/plugins/tapd/e2e/company_test.go"",""language"":""go"",""measures"":[{""metric"":""complexity"",""value"":""1""},{""metric"":""cognitive_complexity"",""value"":""13"",""bestValue"":true},{""metric"":""duplicated_lines"",""value"":""20"",""bestValue"":true},{""metric"
 [...]
-3,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryYPvqC8Tm0EnSWk"",""key"":""testDevLake:backend/core/models/domainlayer/code/component.go"",""name"":""component.go"",""qualifier"":""FIL"",""path"":""backend/core/models/domainlayer/code/component.go"",""language"":""go"",""measures"":[{""metric"":""complexity"",""value"":""1""},{""metric"":""cognitive_complexity"",""value"":""21"",""bestValue"":true},{""metric"":""duplicated_lines"",""value"":""30"",""bestValue"":t
 [...]
-4,"{""connectionId"":1,""ProjectKey"":""testNone""}","{""id"":""AYZ8ryYRvqC8Tm0EnSbH"",""key"":""testDevLake:backend/mocks/core/plugin/CompositeDataSourcePluginBlueprintV200.go"",""name"":""CompositeDataSourcePluginBlueprintV200.go"",""qualifier"":""FIL"",""path"":""backend/mocks/core/plugin/CompositeDataSourcePluginBlueprintV200.go"",""language"":""go"",""measures"":[{""metric"":""duplicated_lines"",""value"":""31"",""bestValue"":false},{""metric"":""complexity"",""value"":""12""},{""me
 [...]
-5,"{""connectionId"":2,""ProjectKey"":""testNone""}","{""id"":""AYZ8ryYRvqC8Tm0EnSba"",""key"":""testDevLake:backend/mocks/core/plugin/CompositeMetricPluginBlueprintV200.go"",""name"":""CompositeMetricPluginBlueprintV200.go"",""qualifier"":""FIL"",""path"":""backend/mocks/core/plugin/CompositeMetricPluginBlueprintV200.go"",""language"":""go"",""measures"":[{""metric"":""duplicated_lines"",""value"":""22"",""bestValue"":false},{""metric"":""complexity"",""value"":""10""},{""metric"":""cog
 [...]
-6,"{""connectionId"":1,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryYRvqC8Tm0EnSbc"",""key"":""testDevLake:backend/mocks/core/plugin/CompositePluginBlueprintV200.go"",""name"":""CompositePluginBlueprintV200.go"",""qualifier"":""FIL"",""path"":""backend/mocks/core/plugin/CompositePluginBlueprintV200.go"",""language"":""go"",""measures"":[{""metric"":""duplicated_lines"",""value"":""53"",""bestValue"":false},{""metric"":""complexity"",""value"":""17""},{""metric"":""cognitive_complexi
 [...]
+13765,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSH_"",""key"":""testDevLake:backend/plugins/jenkins/tasks/api_client.go"",""name"":""api_client.go"",""qualifier"":""FIL"",""path"":""backend/plugins/jenkins/tasks/api_client.go"",""language"":""go"",""measures"":[{""metric"":""complexity"",""value"":""3""},{""metric"":""cognitive_complexity"",""value"":""2"",""bestValue"":false},{""metric"":""duplicated_lines"",""value"":""10"",""bestValue"":true},{"
 [...]
+13832,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSI-"",""key"":""testDevLake:backend/plugins/gitlab/e2e/issues_test.go"",""name"":""issues_test.go"",""qualifier"":""FIL"",""path"":""backend/plugins/gitlab/e2e/issues_test.go"",""language"":""go"",""measures"":[{""metric"":""complexity"",""value"":""1""},{""metric"":""duplicated_lines"",""value"":""46"",""bestValue"":false},{""metric"":""duplicated_files"",""value"":""1"",""bestValue"":false},{""metri
 [...]
+13484,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSI1"",""key"":""testDevLake:backend/plugins/jenkins/impl/impl.go"",""name"":""impl.go"",""qualifier"":""FIL"",""path"":""backend/plugins/jenkins/impl/impl.go"",""language"":""go"",""measures"":[{""metric"":""complexity"",""value"":""39""},{""metric"":""cognitive_complexity"",""value"":""24"",""bestValue"":false},{""metric"":""duplicated_lines"",""value"":""2"",""bestValue"":true},{""metric"":""duplica
 [...]
+13531,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSI4"",""key"":""testDevLake:backend/plugins/gitlab/e2e/mr_commits_test.go"",""name"":""mr_commits_test.go"",""qualifier"":""FIL"",""path"":""backend/plugins/gitlab/e2e/mr_commits_test.go"",""language"":""go"",""measures"":[{""metric"":""complexity"",""value"":""1""},{""metric"":""duplicated_lines"",""value"":""53"",""bestValue"":false},{""metric"":""duplicated_files"",""value"":""1"",""bestValue"":fal
 [...]
+13545,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSI5"",""key"":""testDevLake:backend/plugins/gitlab/e2e/mr_test.go"",""name"":""mr_test.go"",""qualifier"":""FIL"",""path"":""backend/plugins/gitlab/e2e/mr_test.go"",""language"":""go"",""measures"":[{""metric"":""complexity"",""value"":""1""},{""metric"":""duplicated_lines"",""value"":""48"",""bestValue"":false},{""metric"":""duplicated_files"",""value"":""1"",""bestValue"":false},{""metric"":""cognit
 [...]
+13592,"{""connectionId"":2,""ProjectKey"":""testDevLake""}","{""id"":""AYZ8ryX-vqC8Tm0EnSI6"",""key"":""testDevLake:backend/plugins/gitlab/e2e/pipelines_test.go"",""name"":""pipelines_test.go"",""qualifier"":""FIL"",""path"":""backend/plugins/gitlab/e2e/pipelines_test.go"",""language"":""go"",""measures"":[{""metric"":""complexity"",""value"":""1""},{""metric"":""cognitive_complexity"",""value"":""2"",""bestValue"":true},{""metric"":""duplicated_lines"",""value"":""4"",""bestValue"":true
 [...]
diff --git 
a/backend/plugins/sonarqube/e2e/snapshot_tables/_tool_sonarqube_filemetrics.csv 
b/backend/plugins/sonarqube/e2e/snapshot_tables/_tool_sonarqube_filemetrics.csv
index 0fbfcfdb1..6035d4348 100644
--- 
a/backend/plugins/sonarqube/e2e/snapshot_tables/_tool_sonarqube_filemetrics.csv
+++ 
b/backend/plugins/sonarqube/e2e/snapshot_tables/_tool_sonarqube_filemetrics.csv
@@ -1,5 +1,7 @@
-connection_id,file_metrics_key,project_key,file_name,file_path,file_language,code_smells,sqale_index,sqale_rating,bugs,reliability_rating,vulnerabilities,security_rating,security_hotspots,security_hotspots_reviewed,security_review_rating,ncloc,unovered_lines,lines_to_cover,duplicated_lines_density,duplicated_blocks,duplicated_files,duplicated_lines,effort_to_reach_maintainability_rating_a,complexity,cognitive_complexity
-1,testDevLake:backend/mocks/core/plugin/CompositeDataSourcePluginBlueprintV200.go,testNone,CompositeDataSourcePluginBlueprintV200.go,backend/mocks/core/plugin/CompositeDataSourcePluginBlueprintV200.go,go,1,15,1,0,A,0,A,0,0,A,67,0,33,33.29999923706055,1,1,31,0,12,16
-2,testDevLake:backend/core/models/domainlayer/code/component.go,testDevLake,component.go,backend/core/models/domainlayer/code/component.go,go,0,0,1,0,A,0,A,0,0,A,9,0,1,0,0,10,30,4,1,21
-2,testDevLake:backend/plugins/tapd/e2e/company_test.go,testDevLake,company_test.go,backend/plugins/tapd/e2e/company_test.go,go,0,0,1,0,A,0,A,0,0,A,41,0,7,0,0,20,20,2,1,13
-2,testDevLake:backend/plugins/tapd/tasks/company_extractor.go,testDevLake,company_extractor.go,backend/plugins/tapd/tasks/company_extractor.go,go,0,0,1,0,A,0,A,0,0,A,40,0,14,0,0,14,10,3,3,3
+connection_id,file_metrics_key,project_key,file_name,file_path,file_language,code_smells,sqale_index,sqale_rating,bugs,reliability_rating,vulnerabilities,security_rating,security_hotspots,security_hotspots_reviewed,security_review_rating,ncloc,uncovered_lines,lines_to_cover,duplicated_lines_density,duplicated_blocks,duplicated_files,duplicated_lines,effort_to_reach_maintainability_rating_a,complexity,cognitive_complexity
+2,testDevLake:backend/plugins/gitlab/e2e/issues_test.go,testDevLake,issues_test.go,backend/plugins/gitlab/e2e/issues_test.go,go,0,0,1,0,A,0,A,0,0,A,117,18,18,31.299999237060547,1,1,46,3,1,50
+2,testDevLake:backend/plugins/gitlab/e2e/mr_commits_test.go,testDevLake,mr_commits_test.go,backend/plugins/gitlab/e2e/mr_commits_test.go,go,0,0,1,0,A,0,A,0,0,A,139,24,24,30.299999237060547,2,1,53,21,1,20
+2,testDevLake:backend/plugins/gitlab/e2e/mr_test.go,testDevLake,mr_test.go,backend/plugins/gitlab/e2e/mr_test.go,go,0,0,1,0,A,0,A,0,0,A,103,15,15,36.400001525878906,1,1,48,21,1,30
+2,testDevLake:backend/plugins/gitlab/e2e/pipelines_test.go,testDevLake,pipelines_test.go,backend/plugins/gitlab/e2e/pipelines_test.go,go,0,0,1,0,A,0,A,0,0,A,64,15,15,0,0,10,4,3,1,2
+2,testDevLake:backend/plugins/jenkins/impl/impl.go,testDevLake,impl.go,backend/plugins/jenkins/impl/impl.go,go,0,0,1,0,A,0,A,0,0,A,234,92,92,0,0,40,2,11,39,24
+2,testDevLake:backend/plugins/jenkins/tasks/api_client.go,testDevLake,api_client.go,backend/plugins/jenkins/tasks/api_client.go,go,0,0,1,0,A,0,A,0,0,A,25,8,8,0,0,50,10,2,3,2
diff --git a/backend/plugins/sonarqube/e2e/snapshot_tables/filemetrics.csv 
b/backend/plugins/sonarqube/e2e/snapshot_tables/filemetrics.csv
index 6464fb2cd..613598cfe 100644
--- a/backend/plugins/sonarqube/e2e/snapshot_tables/filemetrics.csv
+++ b/backend/plugins/sonarqube/e2e/snapshot_tables/filemetrics.csv
@@ -1,4 +1,7 @@
-id,project_key,file_name,file_path,file_language,code_smells,sqale_index,sqale_rating,bugs,reliability_rating,vulnerabilities,security_rating,security_hotspots,security_hotspots_reviewed,security_review_rating,ncloc,unovered_lines,lines_to_cover,duplicated_lines_density,duplicated_blocks,duplicated_files,duplicated_lines,effort_to_reach_maintainability_rating_a,complexity,cognitive_complexity
-sonarqube:SonarqubeFileMetrics:2:testDevLake:backend/core/models/domainlayer/code/component.go,sonarqube:SonarqubeProject:2:testDevLake,component.go,backend/core/models/domainlayer/code/component.go,go,0,0,1,0,A,0,A,0,0,A,9,0,1,0,0,10,30,4,1,21
-sonarqube:SonarqubeFileMetrics:2:testDevLake:backend/plugins/tapd/e2e/company_test.go,sonarqube:SonarqubeProject:2:testDevLake,company_test.go,backend/plugins/tapd/e2e/company_test.go,go,0,0,1,0,A,0,A,0,0,A,41,0,7,0,0,20,20,2,1,13
-sonarqube:SonarqubeFileMetrics:2:testDevLake:backend/plugins/tapd/tasks/company_extractor.go,sonarqube:SonarqubeProject:2:testDevLake,company_extractor.go,backend/plugins/tapd/tasks/company_extractor.go,go,0,0,1,0,A,0,A,0,0,A,40,0,14,0,0,14,10,3,3,3
+id,project_key,file_name,file_path,file_language,code_smells,sqale_index,sqale_rating,bugs,reliability_rating,vulnerabilities,security_rating,security_hotspots,security_hotspots_reviewed,security_review_rating,ncloc,uncovered_lines,lines_to_cover,duplicated_lines_density,duplicated_blocks,duplicated_files,duplicated_lines,effort_to_reach_maintainability_rating_a,complexity,cognitive_complexity
+sonarqube:SonarqubeFileMetrics:2:testDevLake:backend/plugins/gitlab/e2e/issues_test.go,sonarqube:SonarqubeProject:2:testDevLake,issues_test.go,backend/plugins/gitlab/e2e/issues_test.go,go,0,0,1,0,A,0,A,0,0,A,117,18,18,31.299999237060547,1,1,46,3,1,50
+sonarqube:SonarqubeFileMetrics:2:testDevLake:backend/plugins/gitlab/e2e/mr_commits_test.go,sonarqube:SonarqubeProject:2:testDevLake,mr_commits_test.go,backend/plugins/gitlab/e2e/mr_commits_test.go,go,0,0,1,0,A,0,A,0,0,A,139,24,24,30.299999237060547,2,1,53,21,1,20
+sonarqube:SonarqubeFileMetrics:2:testDevLake:backend/plugins/gitlab/e2e/mr_test.go,sonarqube:SonarqubeProject:2:testDevLake,mr_test.go,backend/plugins/gitlab/e2e/mr_test.go,go,0,0,1,0,A,0,A,0,0,A,103,15,15,36.400001525878906,1,1,48,21,1,30
+sonarqube:SonarqubeFileMetrics:2:testDevLake:backend/plugins/gitlab/e2e/pipelines_test.go,sonarqube:SonarqubeProject:2:testDevLake,pipelines_test.go,backend/plugins/gitlab/e2e/pipelines_test.go,go,0,0,1,0,A,0,A,0,0,A,64,15,15,0,0,10,4,3,1,2
+sonarqube:SonarqubeFileMetrics:2:testDevLake:backend/plugins/jenkins/impl/impl.go,sonarqube:SonarqubeProject:2:testDevLake,impl.go,backend/plugins/jenkins/impl/impl.go,go,0,0,1,0,A,0,A,0,0,A,234,92,92,0,0,40,2,11,39,24
+sonarqube:SonarqubeFileMetrics:2:testDevLake:backend/plugins/jenkins/tasks/api_client.go,sonarqube:SonarqubeProject:2:testDevLake,api_client.go,backend/plugins/jenkins/tasks/api_client.go,go,0,0,1,0,A,0,A,0,0,A,25,8,8,0,0,50,10,2,3,2
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 a1552fe73..ad18fb3f0 100644
--- 
a/backend/plugins/sonarqube/models/migrationscripts/20230111_add_init_tables.go
+++ 
b/backend/plugins/sonarqube/models/migrationscripts/20230111_add_init_tables.go
@@ -51,7 +51,7 @@ func (*addInitTables) Up(basicRes context.BasicRes) 
errors.Error {
 }
 
 func (*addInitTables) Version() uint64 {
-       return 20230221220042
+       return 20230221220066
 }
 
 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 52df2e059..42bac7b2f 100644
--- 
a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_file_metrics.go
+++ 
b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_file_metrics.go
@@ -39,7 +39,7 @@ type SonarqubeFileMetrics struct {
        SecurityHotspotsReviewed float64
        SecurityReviewRating     string `gorm:"type:varchar(20)"`
        Ncloc                    int
-       UnoveredLines            int
+       UncoveredLines           int
        LinesToCover             int
        DuplicatedLinesDensity   float64
        DuplicatedBlocks         int
diff --git a/backend/plugins/sonarqube/models/sonarqube_file_metrics.go 
b/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
index 0bf43c867..72a011460 100644
--- a/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
+++ b/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
@@ -39,7 +39,7 @@ type SonarqubeFileMetrics struct {
        SecurityHotspotsReviewed float64
        SecurityReviewRating     string
        Ncloc                    int
-       UnoveredLines            int
+       UncoveredLines           int
        LinesToCover             int
        DuplicatedLinesDensity   float64
        DuplicatedBlocks         int
@@ -83,7 +83,7 @@ type SonarqubeWholeFileMetrics struct {
        SecurityHotspotsReviewed            float64
        SecurityReviewRating                string `gorm:"type:varchar(20)"`
        Ncloc                               int
-       UnoveredLines                       int
+       UncoveredLines                      int
        LinesToCover                        int
        DuplicatedLinesDensity              float64
        DuplicatedBlocks                    int
diff --git a/backend/plugins/sonarqube/tasks/filemetrics_collector.go 
b/backend/plugins/sonarqube/tasks/filemetrics_collector.go
index ddee2ad03..d5bc51222 100644
--- a/backend/plugins/sonarqube/tasks/filemetrics_collector.go
+++ b/backend/plugins/sonarqube/tasks/filemetrics_collector.go
@@ -47,7 +47,7 @@ func CollectFilemetrics(taskCtx plugin.SubTaskContext) 
errors.Error {
                        query := url.Values{}
                        query.Set("component", data.Options.ProjectKey)
                        query.Set("qualifiers", "FIL")
-                       query.Set("metricKeys", 
"code_smells,sqale_index,sqale_rating,bugs,reliability_rating,vulnerabilities,security_rating,security_hotspots,security_hotspots_reviewed,security_review_rating,ncloc,coverage,lines_to_cover,duplicated_lines_density,duplicated_blocks")
+                       query.Set("metricKeys", 
"code_smells,sqale_index,sqale_rating,bugs,reliability_rating,vulnerabilities,security_rating,security_hotspots,security_hotspots_reviewed,security_review_rating,ncloc,uncovered_lines,lines_to_cover,duplicated_lines_density,duplicated_blocks")
                        query.Set("p", fmt.Sprintf("%v", reqData.Pager.Page))
                        query.Set("ps", fmt.Sprintf("%v", reqData.Pager.Size))
                        return query, nil
diff --git a/backend/plugins/sonarqube/tasks/filemetrics_convertor.go 
b/backend/plugins/sonarqube/tasks/filemetrics_convertor.go
index 23d567070..b7b464664 100644
--- a/backend/plugins/sonarqube/tasks/filemetrics_convertor.go
+++ b/backend/plugins/sonarqube/tasks/filemetrics_convertor.go
@@ -72,7 +72,7 @@ func ConvertFileMetrics(taskCtx plugin.SubTaskContext) 
errors.Error {
                                SecurityHotspotsReviewed:            
sonarqubeFileMetric.SecurityHotspotsReviewed,
                                SecurityReviewRating:                
sonarqubeFileMetric.SecurityReviewRating,
                                Ncloc:                               
sonarqubeFileMetric.Ncloc,
-                               UnoveredLines:                       
sonarqubeFileMetric.UnoveredLines,
+                               UncoveredLines:                      
sonarqubeFileMetric.UncoveredLines,
                                LinesToCover:                        
sonarqubeFileMetric.LinesToCover,
                                DuplicatedLinesDensity:              
sonarqubeFileMetric.DuplicatedLinesDensity,
                                DuplicatedBlocks:                    
sonarqubeFileMetric.DuplicatedBlocks,
diff --git a/backend/plugins/sonarqube/tasks/shared.go 
b/backend/plugins/sonarqube/tasks/shared.go
index 8666ff418..b11c51dc5 100644
--- a/backend/plugins/sonarqube/tasks/shared.go
+++ b/backend/plugins/sonarqube/tasks/shared.go
@@ -203,7 +203,7 @@ func setMetrics(fileMetrics *models.SonarqubeFileMetrics, 
metricsList []Measure)
                                return err
                        }
                case "uncovered_lines":
-                       fileMetrics.UnoveredLines, err = 
errors.Convert01(strconv.Atoi(v.Value))
+                       fileMetrics.UncoveredLines, err = 
errors.Convert01(strconv.Atoi(v.Value))
                        if err != nil {
                                return err
                        }

Reply via email to