JetBrains IDE で GitHub のプルリクをリポジトリと組織をまたいでレビュー
IntelliJ IDEA・PyCharm・WebStorm・Rider などの JetBrains IDE で使える、GitHub のプルリクの無料の受信箱です。 自分のレビューを待っているプルリクを、リポジトリと組織をまたいで集め、前回見たあとに何が変わったかを示します。github.com でも、GitHub Enterprise Server や GHE.com でも動きます。画面は日本語です。
JetBrains Marketplace で入れる(読むのは無料・書き込みは30日間の無料試用つき)
こんな人向け
- レビューを頼まれているプルリクが、いくつものリポジトリや組織に散らばっている
- ブラウザに切り替えずに、IDE の中でレビューを済ませたい
- 社内の GitHub Enterprise Server を、プロキシや自社の証明書の下で使いたい
- コードを AI や外部のサーバーに送るツールは社内で使えない
GitHub Actions の実行・ジョブ・ログも同じ IDE で:GitHub Actions のプラグイン。
ほかの選択肢(JetBrains の IDE に入っている GitHub の機能も)との比べ方はこちら。
レビューの受信箱
- 自分のレビューを待っているもの・自分がレビューしたもの・自分が出したもののプルリクを、開いているリポジトリ、その持ち主(ユーザーか組織)、または GitHub 全体から集める
- 1行ごとに、自分にとって新しいもの(新着・新しいコミット・新しい動き)、承認と変更依頼、コメント、最後に動いた時刻
- 新しいレビュー依頼が来たら通知(開いている間は5分ごとに読み直す)
- 複数リポジトリのプロジェクトでも、最初の1つだけでなく GitHub のクローンを全部出す
レビュー
- 変更ファイル全部を1つの差分ウィンドウで。GitHub から直接読むので、手元に取得しなくてよい。ファイルを1つずつ順に見られる
- ファイルを既読にできる。あとのプッシュでそのファイルが変われば既読は外れ(変わらなかったファイルはそのまま)、前回見たあとに変わったファイルには印が付く
- 行の会話は差分の行の横に。古くなった会話は書かれたときのコミットの上に。差分で選んだ行にそのままコメントできる(GitHub がコメントを受け付けるのは差分の行とその周りの数行だけなので、プラグインは書く前に確かめます)
- 未解決の会話を先に、解決済みは畳む。レビューのまとめと判定も。返信・解決・再開
- マージの条件を文で表示:承認、変更依頼、失敗中や実行中のチェック、まだ満たしていないブランチのルール、衝突、先へ進んだマージ先のブランチ。チェックの実行とコミットの状態も全部、リンクつきで
- ブランチのチェックアウト(フォークからでも)
仕上げ
- 承認・変更依頼(何を直すかを添えて)
- リポジトリが認める方法でマージ(マージコミット・スカッシュ・リベース)。コミットのタイトルの指定、ブランチの削除、ブランチのルールやチェックで止まっている間なら自動マージを有効に
- マージ先の新しいコミットでブランチを更新・レビュー待ちや下書きへの切り替え・クローズ・いまのブランチからプルリク(または下書き)を作成
無料と有料
無料:受信箱・差分・既読・会話の閲覧・マージの条件・チェックと状態・ブランチのチェックアウト。有料(プラグイン内では「Pro」と表示・30日間の無料試用):承認・変更依頼・コメント・返信・解決・マージと自動マージ・ブランチの更新・レビュー待ちや下書きへの切り替え・クローズ・プルリクの作成。
ライセンスは JetBrains Marketplace で販売しています。個人は月 US$1.50・年 US$15、組織は1人あたり月 US$3・年 US$30(Marketplace ではお住まいの通貨で表示されます)。読むだけの人にはライセンスは要りません。
チームで買うとき:組織ライセンスは JetBrains Account で管理し、管理者が開発者に割り当てます(社内の JetBrains License Server からも配れます)。支払いはカードか PayPal。注文書や銀行振込で払うときは、Marketplace のプラグインの値段のページの Get Quote で見積もりを取れます。
入れ方
JetBrains Marketplace から入れるか、IDE の設定のプラグインで Marketplace(マーケットプレイス)のタブを開き、Pull Request Inbox for GitHub を検索します。 リモートが GitHub にあるプロジェクトを開くと、右のツールウィンドウのバーに PR Inbox が出ます。
アクセストークン
github.com の公開リポジトリは、プルリク・会話・チェック・差分をトークンなしで読めます(トークンなしで GitHub が認めるのは1時間に60回までです。プラグインは変わっていないページを ETag で読むので、その回数を使いません)。 非公開のリポジトリと自分のレビューの受信箱には、個人アクセストークンを作ります。承認・コメント・マージもするなら、Fine-grained のトークンで Pull requests と Contents を読み書き、Commit statuses を読み取り(Pro を試すなら最初からこちらに。GitHub Actions のチェックも見るなら Actions の読み取りも)。読むだけなら同じものを読み取りだけで。Classic のトークンなら repo (作り方。プラグインの設定にトークンのページへのリンクがあります)。 設定 | ツール | Pull Request Inbox for GitHub に入れます。github.com 用と GitHub Enterprise 用に1つずつ。どちらも IDE のパスワード保管庫に入り、それぞれのホストにだけ送られます。 GitHub が「Resource not accessible by personal access token」と答えたときは足す権限の見つけ方へ。401 の「Bad credentials」ならトークンを受け付けなくなった理由へ。「API rate limit exceeded」ならどの上限か・いつまた使えるかへ。一覧が 422「Validation Failed」になったらGitHub が検索を断った理由へ。マージを断られたら(405「Pull Request is not mergeable」・409「Head branch was modified」)GitHub が断った理由へ。レビューを断られたら(422「Can not approve your own pull request」・「User can only have one pending review per pull request」)GitHub がレビューを断った理由へ。差分が 406「too_large」になるか、ファイルが欠けて見えるならプルリクのファイルの上限へ。行へのコメントが 422 になるならGitHub がコメントを断った理由へ。ブランチの更新が 422 になるならGitHub がブランチの更新を断った理由へ。プルリクが作れないならGitHub がプルリクを作らなかった理由へ。自動マージが入らないならGitHub が自動マージを断った理由へ。下書き・レビュー準備完了・閉じるが断られたらGitHub が断った理由へ。会話が解決できないならGitHub が解決を断った理由へ。チェックが出ないならGitHub がチェックを渡さなかった理由へ。差分の片側が空か開けないならGitHub がファイルを渡さなかった理由へ。前回見てから変わったファイルに印が付かないならGitHub が比較を断った理由へ。コメントや返信が投稿できないならGitHub が断った理由へ。マージの方法が断られたらリポジトリとブランチが認める方法へ。ブランチが見つからないならGitHub が見つけられない理由へ。GitHub Enterprise Server につながらないなら住所・証明書・ネットワークへ。レビューの依頼が出ないならどの検索が数えるかへ。一覧にプルリクが足りないならページと検索の上限へ。GitHub が「Not Found」や転送で答えるなら非公開のリポジトリと名前を変えたリポジトリへ。行のコメントが outdated になった・差分に無いならGitHub がどこに残しているかへ。プルリクやレビューの依頼が遅れて出るならポーリング・304・検索の索引へ。変更の提案(suggestion)が適用できないならGitHub の文と、API で適用できない理由へ。必須のチェックが「Expected」のままなら報告が来ない理由へ。コードオーナーの承認を待っているならオーナーが誰になるかへ。会話の解決を待っているなら数に入る会話と解決できる人へ。署名の無いコミットで止まっているなら数に入るコミットと署名のし直し方へ。マージキューのあるブランチならキューがマージする流れへ。push の後に承認が数に入らないなら最後の push の承認へ。コードスキャンの結果で止まるならルールセットが求めることへ。コード品質の結果で止まるならルールセットの重大度へ。コードのカバレッジで止まるならルールセットの水準へ。ライセンスの適合で止まるならルールセットのライセンスのポリシーへ。ロックや更新の制限で止まるならそれでも更新できる人へ。マージの後にブランチが残るならブランチを残すものへ。変えたファイルにチームの承認を求められているなら数に入る承認へ。シークレットスキャンのアラートで止まるなら閉じるアラートへ。プルリクのスタックの一部ならスタックに要るものへ。ファイルのせいで push が断られるなら止めている push の規則へ。コミットのメッセージやメールのせいでマージが断られるならコミットのメタデータの規則へ。ブランチへの強制 push が断られるなら強制 push を止めているものへ。マージしても説明に挙げた issue が閉じないなら閉じるキーワードが無視される理由へ。プルリクのブランチをチェックアウトできないならブランチの行き先へ。プルリクがマージ先と衝突しているなら衝突の解決へ。変更を依頼するレビューがプルリクを止めているならレビューの取り消しへ。共同作者がコミットに数えられないならCo-authored-by の書き方へ。依存関係のレビューのチェックが失敗するなら依存関係のレビューの直し方へ。Dependabot がプルリクをリベースしないなら@dependabot rebase の使い方へ。フォークが元のリポジトリと同期できないならフォークの同期へ。プルリクのベースのブランチを変えられないならベースのブランチの変え方へ。マージしたプルリクを取り消せないならプルリクの取り消し方へ。プルリクのテンプレートが出ないならテンプレートの置き場所へ。ラベルや担当者が付かないならラベルと担当者の権限へ。プルリクを閉じられない・開き直せないなら閉じる・開き直す権限へ。プッシュ保護にプッシュを止められたならシークレットのプッシュ保護へ。コメントが隠されたなら隠されたコメントへ。マージの前にデプロイの成功が要るなら必須のデプロイへ。チームに頼んだレビューがメンバーに置き換わったならチームのレビューの自動割り当てへ。Viewed にしたファイルの印が外れたなら見たファイルの印へ。マージしていないプルリクがマージ済みになったなら間接のマージへ。Copilot のレビューが承認に数えられないならCopilot のレビューへ。ワークフローが作ったプルリクのチェックが動かないならワークフローが作ったプルリクへ。Update branch のボタンが出ないならUpdate branch のボタンへ。Dependabot が開いたプルリクのチェックが失敗するならDependabot のプルリクのチェックへ。フォークからのプルリクのチェックが失敗するならフォークからのプルリクへ。コミットメッセージでチェックが飛ばされたならコミットメッセージのスキップの指示へ。古いプルリクのチェックが消えたならチェックの保存期間へ。公開リポジトリでコメントはできても承認できないならコードレビューの制限へ。リポジトリでプルリクを作れないならプルリクのオフと制限へ。スタックのプルリクごとにチェックが走るならスタックのチェックへ。次のプルリクにスカッシュ済みのコミットが出るならスカッシュ済みのコミットへ。ファイルの差分が出ないなら差分が出ないへ。フォークのプルリクのブランチに push できないならフォークへの pushへ。プルリクのチェックが取り消されたなら取り消されたチェックへ。Rebase and merge が使えないならリベースでのマージへ。マージのコミットメッセージが思った形にならないならマージのコミットメッセージへ。プルリクでファイルの全行が変わったと出るなら改行コードへ。GitHub が時間内に答えないならAPI のタイムアウトへ。画像や文書の差分が見た目で出ないなら見た目の差分へ。レビューの依頼が断られるならレビューの依頼へ。Copilot が作ったプルリクのチェックが動かない・承認できないならCopilot のプルリクへ。保護されたブランチへの push が GH006・GH013 で断られるならブランチのルールで断られる pushへ。「At least 1 approving review is required by reviewers with write access」でマージできないならマージに足りない承認へ。
対応する環境
- github.com:HTTPS と SSH のリモート(443番ポートの SSH も)
- GitHub Enterprise Server と GHE.com(データ所在地つきの GitHub Enterprise Cloud):設定 | ツール | Pull Request Inbox for GitHub でアドレスを入れます。ホスト名に github で始まる部分があるサーバー(github.example.com など)は、設定するまではリモートから見分けてトークンなしで読みます
- IDE の HTTP プロキシ設定(プロキシのログインも)と、IDE が信頼する証明書(自己署名や自社の証明書)
- SAML のシングルサインオンを使う組織:トークンをその組織向けにまだ承認する必要があるときは、プラグインがそう表示します
- Git を使える JetBrains IDE ならどれでも(IntelliJ IDEA・PyCharm・WebStorm・Rider・GoLand・PhpStorm・CLion・RubyMine など)。2024.1 以降
社内で使ってよいか判断するために
- 通信先:GitHub だけ。github.com の API と設定した GitHub Enterprise のアドレス(それと、トークンなしで、ホスト名に github で始まる部分がある、Git のリモートが指すサーバー)。ほかのホストへの転送には従いません
- AI 機能なし・こちらのクラウドなし:コードもコメントも、AI のサービスにもこちらのサーバーにも送りません
- 計測なし:利用状況は集めません。ライセンスの確認は IDE が JetBrains Marketplace を通して行います
- トークン:IDE のパスワード保管庫に入れ、それぞれの GitHub のホストにだけ送ります
- 日本語:プラグインの画面は日本語です(プルリクの題やコメントなど、GitHub から来る文はそのまま)
このプラグインは GitHub, Inc. と提携しておらず、後援・推奨も受けていません。GitHub は GitHub, Inc. の商標です。
お問い合わせ
- プライバシーポリシー・使用許諾契約(英語)
- お問い合わせ:support@lesstep.com(日本語で大丈夫です)