While running an analysis, SonarQube raises an issue every time a piece of code does not comply to a coding rule. The set of coding rules is defined through the quality profile associated to the project. Developers can also manually raise issues that cannot be detected by SonarQube (examples: the implementation of the method does not comply to the functional requirements, the javadoc of the method does not match its implementation, etc.).
The ideal objective would be for the whole team not to introduce any new quality issue (any new technical debt). Plugins like Issues Report or SonarQube in Eclipse can help them as they provide the ability to perform local analyses to check their code before pushing it back to the SCM.
But in real life, it is not always possible or sometimes not worth it. So new issues may be introduced. Then, it is important to review them.in order to keep your technical debt under control. Thus, your requirement should become something like: any new issue should be reviewed and according to its severity should be either:
- Fixed immediately
- Put in an action plan to be fixed during the next development sprint(s)
- Kept it in mind as a piece of technical debt that does not require a corrective action for now as the return on investment is too low
Bulk Changes on Issues
Since SonarQube 3.7, it is possible to apply some bulk changes on issues from multiple locations.
Execute your search query and click on Bulk Change. You can then apply some bulk changes such as:
- Assign all the selected issues to a specific developer
- Reopen all the selected issues
- Flag all the selected issues as false positives
Since version 4.0, by default, notifications are not sent. To explicitly send notifications, check Send notifications.
Issues of the selected component are listed:
You can do some bulk changes such as:
- Assign all the new violations since the previous analysis to a specific developer
- Change the severity of all the minor violations to major
Creating a Manual Issue
An issue can be created by clicking on the + button in the first column of the component viewer:
Note that manual rules have to be previously defined by a System administrator.
The issue is then displayed within the source code and can be reviewed as any other issues:
Linking an Issue to an External Task Manager
It is possible to link an issue to an external task manager. To link issues to JIRA for example, you can install the SonarQube JIRA plugin.
Purging Closed Issues
By default, Closed issues are kept for 30 days. For more details, browse the Database Cleaner documentation page.