API support for Deployment Frequency
Problem to solve
As an executive investing in DevOps, I want to see my ROI. I want to see an improvement in the deployment frequency of my dev team. This will most likely drive the KPIs of my team.
As a developer leader I want to see that the team is improving by measuring the deployment frequency and comparing it over time (over sprints)
I want to import the data from GitLab into an external monitoring tool, so I need API support to poll the data.
User experience goal
The user should be able to use the API to present the deployment frequency data in an external tool.
- REST API and backend service to perform calculations
- REST API documentation
- GraphQL equivalent of the REST endpoint
We need to support
GET API for this. As parameters there should be a configurable
timestamp - the default time, if not set should be
For this iteration the API should return the deployment frequency for the project scope, but in the future we will add group level and instance level support. So this should be taken into consideration when developing this API.
Also in the future we would want to add support for the environment that there was a
deployment to. In the true sense of DORA 4 - this is only meant for production, but there may be more than one prod environment and/or users may interested in non-prod environments
There is another consideration: some additional work to create a data structure (tables) to store the metrics, and I think this should be designed so it is flexible enough to:
- commonly capture the data for all metrics
- support a view at Project or any level of Group
- support a minimal time slice which could then be aggregated
This is one metric out of 4 so there needs to be a common API structure to meet all needs.