困ったこと
- Aさん(自分)はソースコードを改修したのでGithubでプルリクエストを行い、Bさん(先輩)がレビューをして何点か指摘を行った
- しかし、BさんのブラウザでのGithubではレビューコメントが表示されているのに、AさんのブラウザでのGithubではレビューコメントが表示されないという状態になった。なぜ??
原因の模索
- アクセス権限が関係あるのかなと思ってAさんもBさんも確認したが、特に問題はなさそう(というよりそもそも権限なかったらプルリクできない?)
- Googleのオートコンプリートやサジェストでも「github コメント 表示されない」「github レビュー 表示されない」「GitHub review comments not showing」といったキーワードが沢山出てくるが、それらしい日本語の記事が見つからない
- ということで、なかなか時間がかかりましたが、以下英語記事を見たら原因と解決方法が分かりました
原因は「インラインコメント」がPendingであることだった
- 原因はレビューした方が行った「インラインコメント」にあります。インラインコメントとは、簡単に言うとソースコードの個々の行に対してコメントを残すことができる機能です。プルリクの説明欄に書くよりも、個々のコードに対して指摘したい場合は活用できます。
- インラインコメントの公式ドキュメントはこちら:プルリクエストへのコメント
- インラインコメントの順序は、以下の通り。
- コメントを追加するコード行にカーソルを合わせ、青い+マークをクリックする
- コメントフィールドにコメントを入力し、「Add single comment」をクリックする
- 右上の「Review changes」(Finish your review)を選択し、最後に総評などを入れて「Submit review」をクリックする
- 原因は、これを最後まで完了していないことにあったのです。
解決方法
- 解決方法は、レビュアー(レビューを行う人)が「Submit review」までクリックすることです。
- Submitしていない状態だとインラインコメントはすべてpending(黄色)になっているはずです
- つまり、インラインコメントは「Add single comment」しただけでは、レビューイ(レビューを受ける人)には見えていません。Submitしていなくても、レビュアーには、プルリクエストのコメント欄に「~~commented now」と記載されており、あたかも記載完了しているように見えていることが要注意です。
- 海外のサイトなど調べてみると、「Add single comment」だけで反映してほしいといったようなコメントがたくさんありますね。。。issuehuntにも上がっているようです。仕様が変わる時が来るかもしれません(-_-;)
Conversationを活用したレビュープロセス
- 以下記事では、インラインコメントを利用した場合のレビュープロセスが記載されていますので、参考URLとして。
- GitHub における PR レビュープロセス - conversation の活用
- ここでもしっかり書かれていますね
インラインコメントは、即時にレビューイに開示されるのではなく、Pending 状態になり、レビューを完了するまでは、レビュアーにのみ見えています