Code Quality Tools
TeamCity comes bundled with a number of tools capable of analyzing the quality of your code and reporting the obtained data. If you are using the tools which are currently not supported, TeamCity can be configured to run them and display their report results.
Generally, the tools are configured as build runners and the results are displayed on the Build Results page as well as in the IDE for some tools.
You can also configure builds to fail based on the results and view the trends as statistics charts.
Qodana lets you add static analysis to your build chain, run advanced code inspections, find code duplicates, track code quality progress of your code, and much more.
These are available when you have an IntelliJ IDEA project (.idea directory or .ipr
file) or a Maven project file (pom.xml
) checked into your version control.
Inspections (IntelliJ IDEA) runs IntelliJ IDEA inspections in TeamCity. These include more than 600 Java, HTML, CSS, JavaScript inspections.
Duplicates Finder (Java) provides a report on the discovered repetitive blocks of code.
These are configured in the dedicated sections of the build runners.
IntelliJ IDEA code coverage is supported for Ant, IntelliJ IDEA Project, Gradle or Maven build runners.
JaCoCo coverage supports Ant, IntelliJ IDEA Project, Gradle and Maven build runners.
These are available if you use Visual Studio.
Inspections (ReSharper) gathers results of JetBrains ReSharper Code Inspections in your C#, VB.NET, XAML, XML, ASP.NET, JavaScript, CSS and HTML code.
Duplicates Finder (ReSharper) provides a report on the discovered repetitive blocks of C# and VB.NET code.
FxCop uses Microsoft FxCop preinstalled on a build agent.
The following code coverage tools are supported for .NET Process Runner, MSBuild, NAnt and NUnit build runners:
For the .NET runner and with NUnit version 3.x the only supported coverage tool is JetBrains dotCover.
If you need to use non-bundled tools, you can use TeamCity to import their results and display them in the TeamCity UI.
The external tool reports are supported via the XML Report Processing build feature. See the list of supported reports.
If your reporting tool is not supported by TeamCity directly, you can make it produce reports in the HTML format via a build script and add a build results report tab in TeamCity.
You can also import code coverage results in TeamCity.
TeamCity can also be integrated with external build tools or tools generating some report/providing code metrics which are not yet supported by TeamCity. The integration tasks involved are collecting the data in the scope of a build and then reporting the data to TeamCity.
Thanks for your feedback!