webdevops / azure-devops-exporter

Prometheus exporter for Azure DevOps (VSTS) including agent pools, builds, releases, deployments, pullrequests and repo stats
MIT License
148 stars 57 forks source link

Add Continuation Token Support For Releases #113

Open cbat98 opened 1 month ago

cbat98 commented 1 month ago

As the official REST API for listing releases only supports returning up to 100 results per request (even with $Top values greater than 100), the API returns a continuation token in the "x-ms-continuationtoken" response header.

https://learn.microsoft.com/en-us/rest/api/azure/devops/release/releases/list?view=azure-devops-server-rest-7.0&tabs=HTTP

image

This PR introduces support to loop sending GET requests to the endpoint and passing the continuation token received (if any) along in the query string parameters. For a sufficiently large time period, this raises the limit of the number of results returned from 100 to the real value.

Before: image

After: image

--

I'm happy to extend this functionality to other endpoints that require continuation tokens if this PR gets approval.


Also changes the case of the 3 as statements in the dockerfile to mitigate the build warnings.

sonarcloud[bot] commented 1 month ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud