get-github-pr-review-commentsというシンプルなCLIを作りました。

GitHubでPull Requestを出して、そこへレビューコメントを書いて、それを反映というのを繰り返すと思います。 そのときに、レビューコメントの位置をソースコードの位置で探すのが毎回大変でした。 (特に文章をPRしてるときは細かいtypoをレビューコメントで印を付けて直すみたいなことがよく起きるので、位置が見つけにくい)

get-github-pr-review-commentsは次の事を行うCLIです。

  1. 指定したCommitShaを含むPull Requestを取得
    • ブランチのshaとかでいい
  2. Pull Requestについているレビューコメントを取得
  3. 実際のファイルパス:行数 + レビューコメントを出力

VSCodeやWebStormなど大体のエディタはファイルパスをクリックしてジャンプできるので、ツールが吐いた結果をクリックすればレビューコメントの位置に飛べます。

VSCode

WebStorm

自分は、次のようなシェルスクリプトを使って、現在ブランチのレビューコメントを取得しています。

#!/usr/bin/env bash

declare repo=$(git config --local remote.origin.url | perl -pe's/(git@|https:\/\/)?github.com(:|\/)(\w+)\/(\w+)(.git)?/$3\/$4/' | sed 's/\.git//g')
GH_TOKEN="GitHubのtoken" get-github-pr-review-comments \
--repo "${repo}" \
--projectRoot `git rev-parse --show-toplevel` \
`git rev-parse HEAD`

GitHubトークンは以下からrepoの権限を付けたものを作成します。

既知の問題

GitHubでは解決済みのコメント(コミットで変更された部分)は折りたたまれますが、それができていません。

APIの結果にそういう情報があるわけでもないのでどうやってやるのかがよく分かりませんでした。