Code reviews in Kiln let a team discuss changesets in a Kiln repository. This leads to better understanding across the team and can help build a better product. Soon, code reviews will help everyone agree on the One True Whatever and all will be right with the world.
Well, OK, maybe they don’t fix everything. So how do they work? From a changeset, the history view, the incoming or outgoing pane, or anywhere else that changesets are sold, click the “Review” button, and choose your reviewers. Your review will then be opened…
All participants will be notified that they have a review available. It will be listed in the Reviews dropdown at the top of the Kiln page. Reviewers are also automatically subscribed to all reviews they participate in, so if you have Kiln set to send you email, you’ll get emails whenever anyone comments.
Every participant individually decides whether to approve the review. At any point, the status of each reviewer appears at the top of the case (see the above screenshot).
All reviews are considered Active when opened. There are three statuses a reviewer can choose from:
- Approved reviews are those that are considered good enough for whatever comes next. Whether that’s pulling these changesets into another branch or launching them into production without further scrutiny, approval signifies that the reviewer is happy with what’s here.
- Rejected reviews are for when changesets contain code that cannot be used. If someone rejects your code review, don’t worry! This is a great way to send feedback about why a choice will not work, or how to meet the spec. Think of it as a chance to build better software.
- Needs Work sits in the middle, and each team will use it differently. This manages the gray area between “there’s no way we’ll use this as-is” and “it’s the most beautiful piece of code I’ve ever seen”.
Keep in mind, a reviewer can change their mind as changesets are added to the review to fix issues or discussions convince them otherwise. Approvals and Rejections are Retracted, whereas a Need Work status can simply be Approved or Rejected.
The review remains in the Active status until all reviewers unanimously agree on a status. Once all reviewers have set the same status, the entire review will take that status instead of Active. For example, once everyone Approves the review, the review status is Approved. The Kiln API Review endpoint returns the review status.