Introducing PullApprove: Version 3
Our very first product was PullApprove — a GitHub integration that helps formalize and automate your PR review process. It was built long, long ago before GitHub kept track of things like reviewers and approvals. Things have since changed, and we’re happy to have finally decided where we think PullApprove fits in this ever-changing world of software development.
PullApprove v3 is entirely redesigned and rebuilt. If you’ve used previous versions, it should feel familiar yet more powerful and better integrated with GitHub. Version 3 is re-focused on the human aspect of code review, giving you complete control over who needs to review what, and giving you new tools to make sure it happens.
Lots of those things have been fixed with the introduction of GitHub Apps. We no longer need to ask for ridiculous permissions, or use user tokens with the GitHub API. You can now install PullApprove directly on GitHub, and choose which repos it has access to.
More importantly, GitHub has now built-in the concept of “reviews”. Previous versions of PullApprove have kept our own list of reviewers and who has approved which PRs. You had to leave GitHub to check the state of these things if you needed more than the basic pass/fail information. You also had to use special syntax in comments or our separate interface to give your approval on a PR. PullApprove v3 is now directly integrated with GitHub Reviews, which means that everything you need can now be found right in GitHub.
Good communication is vital to successful code review. With v3, you can now automatically notify people of where things stand, or what needs to happen next. Make sure that new contributors are told how things work, and that reviewers know what is expected of them.
The other thing we’ve seen over the years is that reviews can get stuck when someone goes on vacation or is out of the office. For that reason, we’ve also introduced reviewer availability. Now you can tell PullApprove when you’re gone and it will automatically transfer any pending reviews requests to someone else and skip you until you get back.
More Flexible and More Powerful
A new way to write group “conditions” has opened up a world of possibilities when it comes to deciding who needs to review a PR. Now, you have all of the PR information available and can write simple “if” statements using the names of branches, labels, files modified by the PR, or anything else that your organization uses to determine reviewers.
For bigger organizations, this means you can now have phased reviews by writing conditions that depend on the state of other groups.
Lastly, but perhaps most importantly, PullApprove v3 is more reliable than ever. While scaling problems might be “good” problems to have, they are still problems. We’ve learned a lot since the early days of PullApprove, and have completely redesigned how things are built and deployed to take advantage of new scalable, serverless cloud hosting options.
PullApprove v3 is available now. We haven’t yet announced a shutdown date for v2, but we plan to focus all of our efforts on the new version and migrate everyone as soon as possible.