GitHubのPullRequest一覧イマイチ使いづらくね?→捗るツール作ったった

tl;dr

  • デプロイはjenkinsおじさんをひっぱたくだけのかんたんなお仕事
  • デプロイするときに、_このデプロイで何が変わるのか_を把握しておきたい
  • masterブランチのpull-requestの履歴見りゃいいじゃん
  • Yuck!

GitHub をCLIでいい感じにするツールを作ろう!

Its’ GOGH Vincent van Gogh (1853-1890) - Wheat Field with Crows (1890)

$ go get github.com/kyoh86/gogh
$ gogh pull-request list --owner github --repos hub --sort closed --direction desc

#1044	commands/fork: handle missing "origin" remote	master	12-04 05:09	12-08 18:26	12-08 18:26
#1038	Alter fork behavior to rename "origin" to "upstream".	master	11-28 07:03	-	11-30 21:36
#961	client.Releases() fetches all pages.	master	07-18 09:07	-	11-26 10:46
#1031	Update redirects in Readme	master	11-15 01:04	-	11-16 20:06
#1024	Cache result of `git rev-parse --git-dir`	master	11-01 02:09	11-04 19:19	11-04 19:19

え?整形したい?columnにpipeしましょ。

$ gogh pr ls -o github -r hub --sort closed --direction desc --state closed|column -t -s $'\t'

#1044  commands/fork: handle missing "origin" remote                   master    12-04 05:09  12-08 18:26  12-08 18:26
#1038  Alter fork behavior to rename "origin" to "upstream".   master    11-28 07:03  -            11-30 21:36
#961   client.Releases() fetches all pages.                                    master    07-18 09:07  -            11-26 10:46
#1031  Update redirects in Readme                                              master    11-15 01:04  -            11-16 20:06
#1024  Cache result of `git rev-parse --git-dir`                               master    11-01 02:09  11-04 19:19  11-04 19:19

気持ちいい。

雑観

車輪の再開発って怒られそうですね。

そもそも、pull-requestのリスト見るだけのツールにGO GitHub clientとか名乗らせちゃうの、恥ずかしいですね。 気が向いたら色々増強する予定なんです。多分。気が向いたら。

hubは、単純にhub pull-request -m 'hoge'とかやって、うっかりmasterにプルリクしちゃうの怖いナァとか、イマイチ信頼できていません。 ならそれこそプルリク出せよっていう話はありましょうが、聞こえないただ作りたかったんですよ。

golangはホントこういう思いつきーなツール作るの楽ちんで助かります。 3〜40分くらいでぐわーっと作って、1時間くらいリファクタリング頑張ったらここまでこれました。 ゴミを量産するな!って言われたらそれまでだけど、ホントいいですね、GO。

ぼんやり思っていること

  • テスト書かなきゃなあ
  • --owner --reposの指定めんどくさい。owner/reposで指定できるようにしたい
  • octokit, go-githubのカバーしている範囲はひと通りコマンド化したいなぁ
  • GitHub開いたら負け、と思えるようになりたいなぁ

素直なやり方

https://help.github.com/articles/searching-issues/

ここ見て、頑張って、

open https://github.com/github/hub/pulls?utf8=%E2%9C%93&q=is%3Apr+merged%3A%3E%3D2015-11-01+

みたいなコマンド組み立てるシェルを書いても良いかも。