Skip to content

Group Level API support for Deployment Frequency

Release notes

In gitlab#279039 we added support for Deployment frequency at the project level. In this release we are extending support for this API to the group level. This will allow users to get a full picture of the deployment frequency across projects and teams, so that they can comprehend their efficiency more accurately.

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.

I want to import the data from GitLab into an external monitoring tool, so I need API support to poll the data.

Intended users

User experience goal

The user should be able to use the API to present the deployment frequency data in an external tool.

Proposal

For GitLab Ultimate users.

  • 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 30 days.

For this iteration the API should return the deployment frequency for the group level scope, but in the future we will add 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

Further details

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.

Permissions and Security

Documentation

Availability & Testing

What does success look like, and how can we measure that?

What is the type of buyer?

Is this a cross-stage feature?

Links / references