DEV Community

Bogdanov Anton
Bogdanov Anton

Posted on

Get the PR statistics from Github with PullKeeper

In the process of growing a development team, sometimes it becomes necessary to have some way to calculate the effectiveness of developers, compare them with each other, motivate them, encourage and punish (maybe, sometimes).

And if the quality of the code is a rather difficult thing to calculate, then the quality and speed of reviewing of pull requests can be calculated. In our company first we started to use a pull request stats package that integrates with github actions and publishes review statistics directly in pull requests. But we had some issues and incorrect calculations.

We thought that those library technically can not meet our needs, then why not make our own web service, for example with Ruby on Rails, a couple of weeks of work and we had the PullKeeperopen source application for getting relevant statistics about PRs, reviewers and comments. Now all statistics can be collected in one place, conveniently divided into statistics for individual repositories and for the whole company.

Company insights example

Аfter 1 year of improving PullKeeper right now tracks 12 developer metrics and 10 repository metrics, so team leads and project managers can very accurate measure their teams in reviewing PRs, find weak places, maybe review process spends huge amount of time (PRs have low code quality), or testing is long process - so features are delivered not so fast to production.

Main feature of PullKeeper that allows accurately calculate review time is excluding not-working time of developers (in compare with other solutions), by default night time is already excluded from calculations, and in addition there is option to specify company's working time.

Additional features:

  • all statistics refreshes automatically, no need to wait new open PR for refreshing it,
  • for each company you can specify non-working hours (only working time can be taken into account when calculating the time spent on review),
  • it works with Github and Gitlab,
  • you can choose statistics to display in the tables,
  • you can also choose to render statistics of changes in efficiency compared to the previous period,
  • if developer login into the application he will receive read access to all repositories and companies where he has insights,
  • sending statistics to Slack/Discord/Telegram channels, so you don’t need to log into the application to check statistics,
  • achievements system for representing and comparing developer success.

The application is open source, you can check it, leave feedback, describe bugs or ask to integrate new features.

A few companies started to use it, if you find PullKeeper useful too - it will make me a little happier.

Top comments (0)