画竜点睛を衝く@mapyo

日々やった事をつらつらと書くブログです

GitHubとか、GHEのリポジトリの最新のコミットログを拾ってくるやつを作った

https://github.com/mapyo/github-first-commit これです。

使い方はreadmeに書いてるんだけどこんな感じです。コマンドラインで1行でとってこれます。

# for github
$ curl -s https://raw.githubusercontent.com/mapyo/github-first-commit/v1.0/latest_commits.rb | REPO_PATH=rails/rails/ ruby
The most recent commit is [ci skip] ActionView and ActionMailerCHANGELOG docs fixes https://github.com/rails/rails/pull/16953 by Abdelkader Boudih.


#for ghe
$ curl -s https://raw.githubusercontent.com/mapyo/github-first-commit/v1.0/latest_commits.rb | REPO_PATH=owner/repo/ GHE_URL=http://hostname/ TOKEN=hogehogehogehogehogehogehogehogehogehoge ruby
The most recent commit is hoge http://hostname/owner/repo/pull/13 by hoge.

—————

本当にやりたかったのは、普段jenkinsでmasterにMergeされたのをフックして、 IRCに通知させたり、ステージング環境に自動deployされるようにしてるんだけど、 その時に最新のコミットログがIRCに通知されるといいなぁと思って作ってみたのでした。

基本的には、GitHubFlowでやってるので、masterにMergeされたタイミングで、プルリクがMergeされた時のコミットログが最新になるわけですが、そのままだとちょっとあれなのでプルリクのタイトルと、URLがメッセージに含まれるようになっています。

基本的にgemとか使わずにrubyに入っているもののみを使ったので、たぶんそこそこの環境では動くと思います。 (そこまでちゃんと調べてないので、あれですが。。。)

——————

余談

https://github.com/kyanny/jenkins-ikachan

curl使ってやるやり方を発見してこうしてみようと思ったのはこのリポジトリにインスパイアされています。 感謝です。

そして、Androidやろうと思って意気込んだものの、気がついたらAndroidじゃない事をやっているというこの現実!!!


追記

どうやらjsonをgemインストールしないとちゃんと動かない模様。。。(汗)