Upsource
Code Review and Project Analytics
Code review workflows
Code review workflows are as diverse as teams that use them. Some teams are flexible and review only certain commits as they see fit, others have more formal criteria of what should be reviewed, by whom, and how the outcome of the code review should affect the development process. For example, there are teams that want to make sure all commits are reviewed by at least three team members. Some teams may have dedicated team members whose approval is crucial – changes won’t get merged into main branch until approved by all.
Upsource lets you make your code reviews more efficient by allowing you to automate some of the routine tasks and monitoring the activity in your projects.
For example, you can use the recently added “Custom workflows” feature to automatically create reviews and assign participants based on a number of flexible criteria. We’ve recently published a blog post about this feature – check it out! Moreover, we plan to further enhance this feature in the next product update, so stay tuned!
If you’d like to keep track of code review coverage, check out Code Review report in the Analytics section or use Upsource’s powerful search to get all kinds of information from your project’s history. For instance, you can see if there have been unreviewed commits in your project in the past month, or if you have a closed review where less than 2 people approved it. You can see if all the changes by a certain person or group of people have been reviewed, and so on.
There are many ways of using these search results. You can bookmark the page with the results and get back to it whenever you need to, or you can use Hub dashboard to show the results on a big screen in your office kitchen. You can call these queries via curl and send them to any custom reporting tool, and trigger some alarms when some conditions are not met.
Upsource comes with a set of code inspections (aka Code Insight) for Java, JavaScript, PHP and Kotlin, that help your team focus on important issues that cannot be detected by tools, rather than waste their time hunting for trivial problems.
You can automate your team’s workflow, you can track what parts of your code base are covered with code reviews, and you can be sure your team is using their time efficiently when reviewing each other’s code.
One thing that Upsource doesn’t do is blocking the changes from getting into production. Upsource is not a version control system and thus it technically cannot give a guarantee that changes you don’t want to see in your code base won’t make it there. On the other hand, a code review result is a decision made by humans, and it should be up to a human, not a tool, to be the judge of how valid it is. Of course, a tool can and should warn you about negative results of code reviews, and that is something we plan to introduce to help you make more educated decisions when merging pull requests.
What code review workflow does your team favor? Let us know!