# Supported Upload Formats and Samples

Teamscale supports a variety of external formats (e.g., test coverage) that can be uploaded and will then included in the analysis (e.g., during Test Gap Analysis).

# Supported Formats for Upload

This guide lists the report formats that Teamscale understands and gives some short hints on how to generate them. Reports can usually be uploaded via the external-report REST service or - for debugging/testing purposes - via the web UI (Project perspective, "External-Analysis-Uploads" button in the project actions).

Language-specific Coverage Tool Recommendations

If want to setup a coverage tool, take a look at the language-specific coverage tools listing page.

Report FormatParameter ValueRemark
AstreeASTREEAstree findings report format for C/C++ from AbsInt. This is an XML format.
BullseyeBULLSEYEBullseye (C++) coverage report format.
ClangCLANGClang (C, C++, Objective C/C++) coverage format.
CloverCLOVERClover is a test coverage format. Teamscale supports the upload of the XML report format of Clover.
CoberturaCOBERTURACobertura is a format for Java test coverage. This is an XML format.
CppcheckCPPCHECKCppcheck (static analysis for C/C++) results in XML format.
FindBugs & SpotBugsFINDBUGSFindBugs & SpotBugs are static code analyzers for Java. SpotBugs is the successor fork of the unmaintained FindBugs project. Teamscale supports the old findings from FindBugs (some were not migrated to SpotBugs) as well as the new ones. For FindBugs findings which were migrated to SpotBugs, Teamscale shows the new finding message from SpotBugs. This is an XML format.
FxCopFXCOP.NET findings report format.
GcovGCOVGcov is a profiling tool for code compiled with gcc. It comes with the gnu compiler collection. The reports are plaintext containing an annotated version of the source files. The reports usually have the .gcov file extension and contain plain text.
Istanbul JSON reportISTANBULIstanbul is a coverage format for JavaScript.
JUnitJUNITJUnit (Java unit tests) format for test results
JaCoCoJACOCOJaCoCo (Java Code Coverage) xml report format. Teamscale needs the XML files exported from JaCoCo, as the JaCoCo-internal trace files (.exec) cannot be parsed.
JetBrains dotCoverDOT_COVERdotCover is a coverage format for .NET. Teamscale requires the detailed XML format variant, which includes statement-by-statement coverage. In ReSharper, use Export to Detailed XML to generate the detailed variant. To determine which variant a .xml file is in, look for <File> elements below <Type> and <Statement> elements below <Method> etc.; <File> and <Statement> are included only in the detailed XML variant.
LcovLCOVLcov is a frontend for gcov from the Linux Test Project (LTP). The format is plaintext containing lines that start, for example, with TN:, BRDA:, BRF:. The file ends with end_of_record.
LLVM CoverageLLVMLLVM Coverage format
Microsoft CoverageMS_COVERAGEMS Coverage report format (CQSE Coverage Merger). Deprecated, use VS_COVERAGE instead.
Microsoft TestMS_TESTMS Test format for test results. Teamscale will process the .trx files (XML format)
OpenCoverOPEN_COVEROpenCover is a .NET coverage format (Windows only). Teamscale supports the upload of the XML report format.
PC-LintPCLINTPClint (C/C++) coverage report format.
PylintPYLINTPylint (static analysis for Python) findings format.
RoslynROSLYNThe Roslyn (Microsoft .NET) compiler platform reports problems with the compiled C# or Visual Basic .NET code based on a set of configurable rules. The result file can be directly imported into Teamscale as external findings.
SpCopSPCOPSpCop (Sharepoint Code Analysis) findings report format.
SAP Code InspectorSAP_CODE_INSPECTORThe SAP Code Inspector format is a Teamscale-specific JSON findings report uploadable directly through Teamscale's Web UI. The JSON report is a list of inspector finding data objects.
Simulink Model AdvisorMODEL_ADVISORSimulink Model Advisor generates HTML reports when it runs checks on models in Matlab.
Testwell CTC++CTCCTC coverage is a coverage format from for C/C++. This is an XML format with ctc_xml_report as root node.
Teamscale Generic FindingsGENERIC_FINDINGSA canonical file format for uploadings external findings to Teamscale. See example
Teamscale Issue CSVISSUE_CSVA Teamscale-specific CSV report for uploading issues into Teamscale.
Teamscale Non-Code MetricsGENERIC_NON_CODEA canonical file format for uploading non-code metrics to Teamscale. See example
Teamscale Simple CoverageSIMPLEA Teamscale-specific coverage format that has a very simple syntax designed for easy testing. See example
Visual Studio CoverageVS_COVERAGEMS Coverage report format (Visual Studio Coverage Merger). Generated by the MSTest Coverage Collector or Microsoft Performance Tool in Visual Studio. The resulting .coverage binary files have to be converted to XML before uploading them to Teamscale.
XR.Baboon XR_BABOONXR.Baboon was originally intended as a code coverage format for C# on .NET/Mono, but was later extended to support C and C++ as well.
XUnitXUNITXUnit (.NET unit tests) format for test results.
Xcode Test CoverageXCODELine coverage data in txt format from Xcode (xccov). Details on how to create a corresponding report can be found in the article on XCode Test Coverage

# Example for JSON File Format for Teamscale Generic Findings

[
	{
		"path": "com/acme/Foo.java",
		"findings": [
		{
			"findingTypeId": "myfinding-1",
			"message": "Invalid construct",
			"startLine": 14,
			"endLine": 14
		}
	]
	},
	{
		"path": "com/acme/Foo2.java",
		"findings": [
			{
				"findingTypeId": "myfinding-2",
				"message": "Range not defined",
				"startLine": 12,
				"endLine": 44,
				"assessment": "RED"
			},
			{
				"findingTypeId": "myfinding-3",
				"message": "Finding with offsets",
				"startOffset": 1234,
				"endOffset": 2345
			}
		]
	}
]

# Example for JSON File Format for Teamscale Non-Code Metrics

[
	{
		"path": "metric1/value1",
		"count": 15
	},
	{
		"path": "metric1/value2",
		"count": 42,
		"content": "some text",
		"assessment": { "RED": 5, "YELLOW": 3, "GREEN": 1 }
	}
]

# Example File for Teamscale Simple Coverage

com/acme/Foo.java
5
7
9-12
com/acme/Foo2.java
45
46
47
48-50
51-55

# Example file for Teamscale CSV Issues

id,subject,assignee,author,description,created,updated,status,closed,url,parent
1,Broken Navigation,Bob,Bob,Broken Navigation,1,1,OPEN,false,,