GitHubにお世話になっている方は多いと思います。
僕はブランチを切ってpushするまではコンソールでやっていますが、Pull Requestを出してコメントしたりするのはブラウザで行っています。
このやり方だと幾つものブランチを行ったり来たりして、そのブランチをpushするたびにブラウザでこのブランチのPRどれだっけ…となるのがとても億劫でした。
カレントブランチまでわかってるんだからAPI叩いてPRのURL位割り出せて一発で開きたいものだなあって思いたったので書いてみました。
git-pr.sh
function git-pr(){
BRANCH=`git name-rev --name-only HEAD`
ORGNAME=`git config --get remote.origin.url | sed "s/^git@.*:\(.*\)\/\(.*\).git$/\1/"`
REPO=`git config --get remote.origin.url | sed "s/^git@.*:\(.*\)\/\(.*\).git$/\2/"`
URL=`curl -su knsh14:MY_SECRET_TOKEN "https://api.github.com/repos/$ORGNAME/$REPO/pulls?head=$ORGNAME:$BRANCH" | jq ".[] | .html_url" | sed -e "s/\"//g"`
open $URL
}
このMY_SECRET_TOKEN
は https://github.com/settings/tokens から発行できます。
それも嫌な方はコロン以下を削除して都度パスワードを入れれば大丈夫でしょう。
申し訳ないんですがPRが存在しない場合おそらく動作しません。その場合はhubなどを使っていい感じにPR出せばいいと思います。
これでコンソール上でgit-prすればカレントブランチのPRが一瞬で開いてレビューしてね!とコメントできますね!