This repository contains the Java API for developing plugins for SonarQube Server, SonarQube Cloud, and SonarQube for IDE. Continue to the plugin-development and dependency documentation below to use the API.
To learn more about the SonarQube product family, visit the Sonar website.
This component was extracted out of SonarQube and has been released independently since v9.5.
The API is built with JDK 17.
See documentation here about how to use the sonar-plugin-api to develop plugins.
The API was relocated when it was extracted out of SonarQube. Its new coordinates are:
org.sonarsource.api.plugin:sonar-plugin-api:<version>
You can find it in maven central.
Also note that the version no longer follows SonarQube Server's versions. The sonar-plugin-api is now released separately.
See the releases for changelogs.
After the build and promotion succeed for the commit to release, go to Actions → sonar-release → Run workflow.
Select the branch containing that commit and enter the full version including the build number (for example, 14.1.0.5543).
You can also start the workflow from the CLI:
gh workflow run release.yml --repo SonarSource/sonar-plugin-api --ref <branch> -f version=<full-version>The workflow creates or reuses a draft GitHub release, publishes the artifacts and Javadoc, and publishes the release after all publication steps succeed. Start releases through this workflow; do not manually publish the GitHub release. If a release fails, fix the cause and re-run the failed workflow from GitHub Actions using the same version. The draft remains available for the retry.
See the deprecation policy.
Breaking changes to the API happen when the major version changes. As a result, plugins should be compatible with future versions of the API within the same major version. New APIs can be introduced in any release of the API, and plugins may want to do a runtime version check to see if they can use newly added APIs, depending on what platforms they intend to run.
The following tables indicate which API versions plugins can find at runtime:
| SonarQube | Plugin API |
|---|---|
| 2026.5.3.133540 | 14.0.0.4498 |
| 2026.5.2.132813 | 14.0.0.4498 |
| 2026.5.1.132435 | 14.0.0.4498 |
| 2026.5.0.132233 | 14.0.0.4498 |
| 2026.4.1.126914 | 13.8.0.4399 |
| 2026.4.0.125744 | 13.8.0.4399 |
| 2026.3.1.123439 | 13.5.0.4319 |
| 2026.3.0.123014 | 13.5.0.4319 |
| 2026.2.1.121354 | 13.5.0.4319 |
| 2026.2.0.121184 | 13.5.0.4319 |
| 2026.1.7.133539 | 13.4.3.4290 |
| 2026.1.6.131977 | 13.4.3.4290 |
| 2026.1.5.126862 | 13.4.3.4290 |
| 2026.1.4.125802 | 13.4.3.4290 |
| 2026.1.3.123084 | 13.4.3.4290 |
| 2026.1.2.121356 | 13.4.3.4290 |
| 2026.1.1.121187 | 13.4.3.4290 |
| 2026.1.0.119033 | 13.4.3.4290 |
| 2025.6.1.117629 | 13.4.2.4284 |
| 2025.6.0.117042 | 13.4.2.4284 |
| 2025.5.0.113872 | 13.2.0.3137 |
| 2025.4.10.133542 | 13.0.0.3026 |
| 2025.4.9.131983 | 13.0.0.3026 |
| 2025.4.8.125717 | 13.0.0.3026 |
| 2025.4.7.123368 | 13.0.0.3026 |
| 2025.4.6.121412 | 13.0.0.3026 |
| 2025.4.5.121186 | 13.0.0.3026 |
| 2025.4.4.119049 | 13.0.0.3026 |
| 2025.4.0.111749 | 13.0.0.3026 |
| 2025.3.0.108892 | 12.0.0.2960 |
| 2025.2.0.105476 | 11.3.0.2824 |
| 2025.1.8.123366 | 11.2.0.2797 |
| 2025.1.7.121414 | 11.2.0.2797 |
| 2025.1.6.120530 | 11.2.0.2797 |
| 2025.1.5.119025 | 11.2.0.2797 |
| 2025.1.0.102418 | 11.1.0.2693 |
| 10.8.0.100206 | 10.14.0.2599 |
| 10.7.0.96327 | 10.11.0.2468 |
| 10.6.0.92116 | 10.7.0.2191 |
| 10.5.1.90531 | 10.7.0.2191 |
| 10.4.0.87286 | 10.6.0.2114 |
| 10.3.0.82913 | 10.2.0.1908 |
| 10.2.0.77647 | 10.1.0.809 |
| 10.1.0.73491 | 9.17.0.587 |
| 10.0.0.68432 | 9.14.0.375 |
| 9.9.0.65466 | 9.14.0.375 |
| 9.8.0.63668 | 9.13.0.360 |
| 9.7.1.62043 | 9.11.0.290 |
| 9.7.0.61563 | 9.11.0.290 |
| 9.6.1.59531 | 9.9.0.229 |
| 9.6.0.59041 | 9.9.0.229 |
| 9.5.0.56709 | 9.6.1.114 |
| 9.4.0.54424 or earlier | Matches sonarqube version |
| SonarQube | Plugin API |
|---|---|
| 26.10.0.133078 | 14.1.0.5543 |
| 26.9.0.129388 | 14.0.0.4498 |
| 26.8.0.126808 | 13.8.0.4399 |
| 26.7.0.124771 | 13.8.0.4399 |
| 26.6.0.123539 | 13.7.0.4381 |
| 26.5.0.122743 | 13.5.0.4319 |
| 26.4.0.121862 | 13.5.0.4319 |
| 26.3.0.120487 | 13.5.0.4319 |
| 26.2.0.119303 | 13.4.3.4290 |
| 26.1.0.118079 | 13.4.3.4290 |
| 25.12.0.117093 | 13.4.2.4284 |
| 25.11.0.114957 | 13.3.0.3209 |
| 25.10.0.114319 | 13.2.0.3137 |
| 25.8.0.111898 | 13.0.0.3026 |
| 25.7.0.110598 | 13.0.0.3026 |
| 25.5.0.107428 | 11.3.0.2824 |
| 25.4.0.105899 | 11.3.0.2824 |
| 25.3.0.104237 | 11.2.0.2797 |
| 25.2.0.102705 | 11.1.0.2693 |
| 25.1.0.102122 | 11.1.0.2693 |
Current version: 13.2.0.3137
| Flavor | Plugin API |
|---|---|
| Eclipse | 13.4.2.4284 |
| IntelliJ | 13.4.2.4284 |
| Visual Studio | 13.4.2.4284 |
| VSCode | 13.4.2.4284 |
See here how to leverage APIs introduced recently to help optimize sensors in order to achieve faster analysis.
For support questions ("How do I?", "I got this error, why?", ...), please head to the SonarSource forum. There are chances that a question similar to yours has already been answered.
Be aware that this forum is a community, so the standard pleasantries ("Hi", "Thanks", ...) are expected. And if you don't get an answer to your thread, you should sit on your hands for at least three days before bumping it. Operators are not standing by. :-)
Copyright SonarSource Sàrl.
Licensed under the GNU Lesser General Public License, Version 3.0