Hey Bernard I think I can help you.
I also use the oData feed a good bit and in late December I got an email from the Azure DevOps Analytics program manager about the following changes. They rolled out in early Jan. I looked around for any blog\announcement but I could not find one, so I guess I will just share what I know here.
I would also add that you can check the valid schema at this endpoint https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/$metadata
Email from the program manager is below the line.
Updates Summary:
- All entity sets and entity properties with names starting with BuildPipeline will be renamed to start with Pipeline
- All entity sets and entity properties with names starting with Build will be renamed to start with PipelineRun
- The entity set BuildTaskResults will be renamed to PipelineRunActivityResults
- The entity set BuildPipelineTasks will be renamed to PipelineTasks
- All Release entity sets are removed, and their properties are merged into Test entity sets. The following entity sets are removed
a. ReleasePipelines
b. ReleaseEnvironments
c. ReleaseStages
d. Releases
The properties of these release entity sets can now be referenced in queries on Test entity sets by directly using the entity property. For instance, usage of ReleasePipeline/ReleasePipelineId in Test entity queries can be replaced with ReleasePipelineId.
Details:
Examples:
Older query this
https://analytics.dev.azure.com/{orgname}/{projectName}/_odata/v3.0-preview/Builds?$apply=filter(BuildPipelineId eq 381)/aggregate($count as Count)
will become
https://analytics.dev.azure.com/{orgname}/{projectName}/_odata/v3.0-preview/PipelineRuns?$apply=filter(PipelineId eq 381)/aggregate($count as Count)
Handling release entity sets and entity properties
Azure DevOps Analytics contained only those Release entries that were associated with TestRuns and never contained the completed date for release. All those Release entity sets are being removed and their properties are being merged into Test entity sets. For example, queries that use Release entity sets directly will
https://analytics.dev.azure.com/{orgname} /{projectName}/_odata/v3.0-preview/ReleasePipelines/$count
https://analytics.dev.azure.com/{orgname} /{projectName}/_odata/v3.0-preview/ReleaseEnvironments/$count
https://analytics.dev.azure.com/{orgname} /{projectName}/_odata/v3.0-preview/ReleaseStages/$count
https://analytics.dev.azure.com/{orgname} /{projectName}/_odata/v3.0-preview/Releases/$count
But you need not worry If a release entity property was being used in any Test query. Since the release properties are being merged into Test entity sets, you should use the property directly, without using navigation. For instance, in a test entity, if a release entity property is currently being used as ReleasePipeline/ReleasePipelineId, then it should be replaced with ReleasePipelineId. This pattern applies to all Release entity properties used within Test entities.
Examples:
Older query this
https://analytics.dev.azure.com/{orgname} /{projectName} /_odata/v3.0-preview/TestRuns?$apply=filter(ReleasePipeline/ReleasePipelineId eq 381)/aggregate($count as Count)
will become
https://analytics.dev.azure.com/{orgname} /{projectName} /_odata/v3.0-preview/TestRuns?$apply=filter(ReleasePipelineId eq 381)/aggregate($count as Count)