Issues are either detected automatically or created manually.
After creation, issues flow through a lifecycle, taking on one of five possible statuses:
- Open - set by SonarQube on new issues
- Confirmed - set manually to indicate that the issue is valid
- Resolved - set manually to indicate that the next analysis should Close the issue
- Reopened - set automatically by SonarQube when a Resolved issue hasn't actually been corrected
- Closed - set automatically by SonarQube for automatically created issues.
Closed issues may have one of three resolutions:
- False positive - set manually
- Fixed - set automatically when a subsequent analysis shows that the issue has been corrected
- Removed - set automatically when the related coding rule is no longer available, either because it has been removed from the profile or because the underlying plugin has been uninstalled
Manual workflow (through the web interface)
Automated workflow (during analysis)
Issues are automatically closed (status: Closed) when:
- an issue (of any status) has been properly fixed => Resolution: Fixed
- an issue no longer exists because the related coding rule has been deactived or is no longer available (ie: plugin has been removed) => Resolution: Removed
Issues are automatically reopened (status: Reopened) when:
- an issue that was Resolved (but Resolution is not False positive) is shown by a subsequent analysis to still exist
Purging Closed Issues
By default, Closed issues are kept for 30 days. For more details, browse the Database Cleaner documentation page.