Reporting on test outcomes in TFS sans OLAP

126 Views Asked by At

On-prem AzDevOps Server 2019.1 (Dev17.M153.5). I have an Excel report (a PivotTable) based on the Tfs_Analysis OLAP cube. The values are test counts by outcome, on rows I have the test suite hierarchy (collection/project/test suite), there are dynamic filters by date and by project hierarchy.

Now, that naturally requires the OLAP cube, the warehouse database, and generally the whole set of functionality that TFS refers to as "Reporting". This functionality is incompatible with some of the nice new features (e. g. work item type changing). If you disable it, there's no reenabling, but they advertise the new analytics features instead.

I'm wondering how can I approximate something like that PivotTable using the analytics tools.In the OData feed, there's nothing for Tests or Test Suites. The only thing that comes close is the Charts feature under Test Plans in the Web UI, but it's single project, and not filterable.

Any ideas please?

EDIT: SOME progress. If you specify /_odata/v3.0-preview/ in the feed URL, you get Test and TestResult tables back. The TestResult table only seems to contain the last month's worth of activity. I don't specify a filter.

1

There are 1 best solutions below

0
On

SOME progress. If you specify /_odata/v3.0-preview/ in the feed URL, you get Test and TestResult tables back.

The base API queries look like this:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v3.0-preview/testResults/

You can also use $expand=Test,TestRun to include the test case and test run information along with the test result, which makes sense, then use other clausesas needed to manage the data.

only seems to contain the last month's worth of activity. This is an expected behavior, should be a limitation of ODATA API. You could also refer Dale Riechert [MSFT]'s comment in this link:

For returned json that the results are less than a month old. Not sure if this limitation is intended or not, but OData will not return results older than this while the REST API does.