Github の PullRequest をコマンドラインで表示出来るようにしてみた
モチベーション
フリーランスになって Github のプルリクエスト駆動で開発するようになって、今現在アクティブなプルリクエストのリストをいちいちブラウザを開かなくても手元のシェルで確認したい気持ちが高まってきた。
また、人のプルリクをレビューする際などにちょっと階層が深い複雑なブランチ構造のプルリクを開くと、自分は一体何の差分をレビューしているのか見失うことがあるので、プルリクのブランチ階層構造をサクッと把握したい。
コマンドラインツールを作ってみた
そこで、Github のAPIを使って pr-tree
というコマンドラインツールを作ってみた。
なるべく簡単にインストール出来るように ruby の実行ファイル一個にまとめた。
リポジトリを clone し、Github の GITHUB_API_TOKEN
を取得し、パスの通ったディレクトリにシンボリックリンクを置くことで簡単に使える。
実際の動き
シェル上で任意の Github リポジトリのディレクトリに入って、 pt-tree
と打つことで以下のようにプルリク一覧がブランチのツリー構造で表示される。
現在誰がどのプルリクに着手しているか分かるし、ブラウザで見たければ command
を押しながら URL をクリックすると瞬時に開く(iTermの場合)。
大きめのフィーチャーブランチから子プルリクを生やしてる場合などもツリー構造を簡単に把握できてレビューが捗る。
最近追加した機能としては、親ブランチの最新から乖離がある子ブランチの先頭に *
を表示するようにして、出来るだけ素早くリベースするなりして親ブランチから置いて行かれないようにしている。
実運用で使ってみている
なんとなく欲しくなったものを ruby で Github API を使う練習なるなぁ、くらいの気持ちで作ってみたけどしばらく使っているうちに手放せないツールとなった。お仕事をいただいている現場のメンバーにも共有したら早速使ってくれてる人もいて嬉しい。
もしかしたらもっと便利なツールが世の中には転がっているかもしれないけど、自分で作れるものは自作するのも楽しくていいな。