GET /api/measures/component - ncloc=0 - The main branch has no lines of code

Hi,

We are using SQ 7.9.2 LTS with Web API:

  • GET /api/measures/component
  • metricKeys=ncloc
  • for an empty project: message in UI = The main branch has no lines of code.

In case of empty project there is no measure for ncloc in the response.
My expectation was that I get ncloc=0.

  {
    "metric": "ncloc",
    "value": "0",
  }

Bug or feature?

Regards,
Günter

Hi,

It’s not clear to me: you’re getting no node for the measure at all in your response?

 
Ann

Hi Ann,

see sample below. Maybe that makes it more clear. In response ncloc is missing.

DEBUG: Request: url={https://xxx.com/api/measures/component} params={'component': 'yyy', 'metricKeys': 'new_technical_debt,blocker_violations,bugs,classes,code_smells,cognitive_complexity,comment_lines,comment_lines_density,branch_coverage,new_branch_coverage,confirmed_issues,coverage,new_coverage,critical_violations,complexity,directories,duplicated_blocks,duplicated_files,duplicated_lines,duplicated_lines_density,new_duplicated_lines_density,false_positive_issues,files,functions,info_violations,violations,line_coverage,new_line_coverage,lines,ncloc,ncloc_language_distribution,lines_to_cover,new_lines_to_cover,sqale_rating,new_maintainability_rating,major_violations,minor_violations,new_blocker_violations,new_bugs,new_code_smells,new_critical_violations,new_info_violations,new_violations,new_major_violations,new_minor_violations,new_security_hotspots,new_vulnerabilities,open_issues,projects,quality_gate_details,alert_status,reliability_rating,new_reliability_rating,reliability_remediation_effort,new_reliability_remediation_effort,reopened_issues,security_hotspots,security_rating,new_security_rating,security_remediation_effort,new_security_remediation_effort,security_review_rating,skipped_tests,statements,sqale_index,sqale_debt_ratio,new_sqale_debt_ratio,uncovered_conditions,new_uncovered_conditions,uncovered_lines,new_uncovered_lines,test_execution_time,test_errors,test_failures,test_success_density,tests,vulnerabilities'}

DEBUG: {
 "component": {
  "id": "AWIe1_Prg06TuM1eY5df",
  "key": "yyy",
  "name": "nnn",
  "qualifier": "TRK",
  "measures": [
   {
    "metric": "quality_gate_details",
    "value": "{\"level\":\"OK\",\"conditions\":[{\"metric\":\"new_reliability_rating\",\"op\":\"GT\",\"period\":1,\"error\":\"1\",\"actual\":\"1\",\"level\":\"OK\"},{\"metric\":\"new_security_rating\",\"op\":\"GT\",\"period\":1,\"error\":\"1\",\"actual\":\"1\",\"level\":\"OK\"},{\"metric\":\"new_maintainability_rating\",\"op\":\"GT\",\"period\":1,\"error\":\"1\",\"actual\":\"1\",\"level\":\"OK\"}],\"ignoredConditions\":false}"
   },
   {
    "metric": "new_sqale_debt_ratio",
    "periods": [
     {
      "index": 1,
      "value": "0.0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "major_violations",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "alert_status",
    "value": "OK"
   },
   {
    "metric": "false_positive_issues",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "minor_violations",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "new_security_remediation_effort",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "new_blocker_violations",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "duplicated_files",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "new_code_smells",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "reliability_rating",
    "value": "1.0",
    "bestValue": true
   },
   {
    "metric": "duplicated_lines",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "blocker_violations",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "critical_violations",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "reopened_issues",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "new_info_violations",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "bugs",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "reliability_remediation_effort",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "violations",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "code_smells",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "new_critical_violations",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "sqale_rating",
    "value": "1.0",
    "bestValue": true
   },
   {
    "metric": "vulnerabilities",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "new_security_rating",
    "periods": [
     {
      "index": 1,
      "value": "1.0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "open_issues",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "security_remediation_effort",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "new_technical_debt",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "new_reliability_rating",
    "periods": [
     {
      "index": 1,
      "value": "1.0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "security_rating",
    "value": "1.0",
    "bestValue": true
   },
   {
    "metric": "sqale_index",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "new_bugs",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "new_major_violations",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "sqale_debt_ratio",
    "value": "0.0",
    "bestValue": true
   },
   {
    "metric": "new_maintainability_rating",
    "periods": [
     {
      "index": 1,
      "value": "1.0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "info_violations",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "new_vulnerabilities",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "new_security_hotspots",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "new_minor_violations",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "security_hotspots",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "duplicated_blocks",
    "value": "0",
    "bestValue": true
   },
   {
    "metric": "new_violations",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "new_reliability_remediation_effort",
    "periods": [
     {
      "index": 1,
      "value": "0",
      "bestValue": true
     }
    ]
   },
   {
    "metric": "confirmed_issues",
    "value": "0",
    "bestValue": true
   }
  ]
 }
}