GitHubに新しく「required review」という機能が追加されました。この機能を利用すると、変更が承認されない限りはプルリクエストをマージできないようにする、といったプルリクエストの運用が可能になります。これまでのように、上がってきた差分にコメントを付けるだけでなく、修正を要求したり承認するフローがプルリクエストのレビュー機能として提供されているのが特徴です。masterブランチや、マージにフックしてCIでのビルドやデプロイが実行されるようなブランチに対しては厳格な運用が行えるため、部分的に取り入れるメリットは大きそうです。
GitHubから公式のリリースノートは発表されていますが、日本語での資料がなかったため翻訳してみました。原文に忠実であることよりも翻訳文の読みやすさを意識したため、意訳も多いですが、ぜひご一読ください。
↓↓↓以下翻訳文↓↓↓
プルリクエストのレビューコメントについて
プルリクエストが作られると、リポジトリのread権限を持っている人なら誰でもそのプルリクエストの差分をレビューしコメントすることが可能です。レビューコメントは、そこで上がってきた差分について議論したり、リポジトリのコントリビューション・ガイドラインに沿っているか、などのクオリティチェックを促進する働きがあります。
レビューコメントには以下3つの種類があります。
- コメント(comment): 変更内容を承認したり追加修正を要求することはせず、一般的なフィードバックとしてコメントを残す
- 承認(approve): 該当する変更のマージを承認するコメントを残す
- 修正要望(request changes): プルリクエストがマージされる前に修正を求めるためのコメントを残す
Tips:
- 「必須レビュー(required review)」機能がオンになっており、リポジトリにwrite・admin・owner権限を持つユーザーが「修正要望」コメントを残すと、そのコメントをしたユーザーによって「承認」コメントがつかない限り、プルリクエストはマージできなくなります。
- リポジトリのownerあるいはadministratorは、レビューコメントが「承認」されていなかったり、「修正要求」コメントを残したレビュワーがそのorganizationを離れたりしていても、プルリクエストをマージすることができます。
「必須レビュー」機能について
リポジトリのadministratorは「保護されたブランチ(protected branch)」機能を使うことで、どんなプルリクエストであっても、マージされるまでに最低でも1つは「承認」レビューコメントがつかない限りマージできないようにすることが可能です。すでに「修正要望」コメントの付いたプルリクエストが存在する場合、保護されたブランチに対して「必須レビュー」コメントをつけることはできません。