{ "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 } ] } ] }