← All Modules

assay.sonarqube

SonarQube web API client for code quality data — quality gates, issues, security hotspots, measures, and projects. Client: sonarqube.client(url, {token="..."}) (bearer) or sonarqube.client(url, {user="...", password="..."}) (basic). All methods are read-only.

Quality Gates

Issues

Hotspots

Measures

Projects

Mutation

None. Every method is a read (http.get). Quality-gate and project administration writes are out of scope for this module.

Example:

local sonarqube = require("assay.sonarqube")
local c = sonarqube.client("https://sonar.example.com", { token = env.get("SONAR_TOKEN") })

local gate = c.qualitygate:project_status("demo-project")
assert.eq(gate.projectStatus.status, "OK")

local issues = c.issues:search({ component_keys = "demo-project", severities = "BLOCKER" })
print(issues.total)

local measures = c.measures:component("demo-project", { "coverage", "bugs", "vulnerabilities" })
for _, m in ipairs(measures.component.measures) do
  print(m.metric, m.value)
end