SonarQube · JSON Structure
Sonarqube Web Api Structure
JSON structure documentation for the SonarQube Web API core data entities
Type:
Properties: 0
Code QualityDevOpsSecurityStatic Analysis
SonarQube Web API Structure is a JSON Structure definition published by SonarQube.
Meta-schema:
JSON Structure
{
"name": "SonarQube Web API Structure",
"description": "JSON structure documentation for the SonarQube Web API core data entities",
"resources": [
{
"name": "Project",
"description": "A SonarQube project representing an analyzed codebase",
"fields": [
{ "name": "key", "type": "string", "required": true, "description": "Unique project key" },
{ "name": "name", "type": "string", "required": true, "description": "Display name" },
{ "name": "qualifier", "type": "string", "enum": ["TRK", "APP", "VW"], "required": false },
{ "name": "visibility", "type": "string", "enum": ["public", "private"], "required": false },
{ "name": "lastAnalysisDate", "type": "string", "format": "date-time", "required": false },
{ "name": "revision", "type": "string", "required": false, "description": "SCM commit hash" },
{ "name": "managed", "type": "boolean", "required": false }
]
},
{
"name": "Issue",
"description": "A code issue (bug, vulnerability, code smell, security hotspot)",
"fields": [
{ "name": "key", "type": "string", "required": true, "description": "Unique issue key" },
{ "name": "rule", "type": "string", "required": true, "description": "Rule key (e.g., java:S1234)" },
{ "name": "severity", "type": "string", "enum": ["INFO", "MINOR", "MAJOR", "CRITICAL", "BLOCKER"], "required": false },
{ "name": "type", "type": "string", "enum": ["CODE_SMELL", "BUG", "VULNERABILITY", "SECURITY_HOTSPOT"], "required": true },
{ "name": "component", "type": "string", "required": false, "description": "File component key" },
{ "name": "project", "type": "string", "required": false },
{ "name": "line", "type": "integer", "required": false },
{ "name": "textRange", "type": "object", "required": false },
{ "name": "status", "type": "string", "enum": ["OPEN", "CONFIRMED", "REOPENED", "RESOLVED", "CLOSED"], "required": true },
{ "name": "resolution", "type": "string", "enum": ["FIXED", "FALSE-POSITIVE", "WONTFIX", "REMOVED"], "required": false },
{ "name": "message", "type": "string", "required": false },
{ "name": "author", "type": "string", "required": false },
{ "name": "assignee", "type": "string", "required": false },
{ "name": "creationDate", "type": "string", "format": "date-time", "required": false },
{ "name": "effort", "type": "string", "required": false },
{ "name": "tags", "type": "array", "items": "string", "required": false }
]
},
{
"name": "QualityGate",
"description": "Quality criteria a project must meet for production readiness",
"fields": [
{ "name": "id", "type": "string", "required": true },
{ "name": "name", "type": "string", "required": true },
{ "name": "isDefault", "type": "boolean", "required": false },
{ "name": "isBuiltIn", "type": "boolean", "required": false },
{ "name": "conditions", "type": "array", "items": "QualityGateCondition", "required": false }
]
},
{
"name": "QualityGateCondition",
"description": "A single metric threshold condition in a quality gate",
"fields": [
{ "name": "id", "type": "string", "required": false },
{ "name": "metric", "type": "string", "required": false, "description": "Metric key" },
{ "name": "op", "type": "string", "enum": ["LT", "GT"], "required": false },
{ "name": "error", "type": "string", "required": false, "description": "Error threshold value" }
]
},
{
"name": "Measure",
"description": "A metric value for a component",
"fields": [
{ "name": "metric", "type": "string", "required": false, "description": "Metric key (e.g., coverage, bugs)" },
{ "name": "value", "type": "string", "required": false },
{ "name": "bestValue", "type": "boolean", "required": false },
{ "name": "period", "type": "object", "required": false, "description": "New code period value" }
]
},
{
"name": "Rule",
"description": "An analysis rule defining a code quality or security check",
"fields": [
{ "name": "key", "type": "string", "required": false, "description": "Rule key (e.g., java:S1234)" },
{ "name": "name", "type": "string", "required": false },
{ "name": "status", "type": "string", "enum": ["BETA", "DEPRECATED", "READY", "REMOVED"], "required": false },
{ "name": "lang", "type": "string", "required": false },
{ "name": "type", "type": "string", "enum": ["CODE_SMELL", "BUG", "VULNERABILITY", "SECURITY_HOTSPOT"], "required": false },
{ "name": "severity", "type": "string", "enum": ["INFO", "MINOR", "MAJOR", "CRITICAL", "BLOCKER"], "required": false },
{ "name": "htmlDesc", "type": "string", "required": false },
{ "name": "tags", "type": "array", "items": "string", "required": false },
{ "name": "repo", "type": "string", "required": false, "description": "Rule repository" }
]
},
{
"name": "User",
"description": "A SonarQube user account",
"fields": [
{ "name": "login", "type": "string", "required": false, "description": "Unique user login" },
{ "name": "name", "type": "string", "required": false },
{ "name": "active", "type": "boolean", "required": false },
{ "name": "email", "type": "string", "required": false },
{ "name": "local", "type": "boolean", "required": false },
{ "name": "externalProvider", "type": "string", "required": false },
{ "name": "groups", "type": "array", "items": "string", "required": false }
]
},
{
"name": "Paging",
"description": "Pagination metadata for list responses",
"fields": [
{ "name": "pageIndex", "type": "integer", "required": false },
{ "name": "pageSize", "type": "integer", "required": false },
{ "name": "total", "type": "integer", "required": false }
]
}
]
}