#8 Golang 製 コマンドラインから GitHub の issue / p-r をよしなに閲覧できる君

tech.kayac.com Advent Calendar 2014 8日目担当の m0t0k1ch1 です。

担当、来週あたりだろうな〜〜〜と思ってたら実は今日ですみたいなセルフどっきりをかましてしまい、本当に焦っています。〆切の24時までもう残り時間が少ないので、文章少なめで駆け抜けます。

つくったもの

即興で描き上げました。

gis

表題の通りのことができます。インストール方法などは GitHub の README を御覧ください。細かいことは最後に書きます。

codegangsta/cligoogle/go-github、本当に便利ですね!!!!!

gis でできること

  • gis -a:自分にアサインされている issue / p-r を表示
  • gis -m:自分にメンションがとんでいる issue / p-r を表示

検索対象はカレントディレクトリに紐付いている GitHub のリポジトリに存在する issue / p-r です。

今年話題になった peco と夢のコラボレーションを果たして、

function gisp() {
    url=`gis $@ | peco | cut -f2`
    open $url
}

こんな感じの function を .zshrc などに仕込んでおけば、以下のようなプチイノベーションが実現できます。

補足

なんでつくったの?

近頃 issue / p-r に塗れながら生活していることもあり、いちいちブラウザから自分に関係のある issue / p-r を探してチェックして、、みたいなのがめんどくさくなってしまい、そこんとこなんとか改善したいわ〜〜〜という想いがあったからです。

こんな適当な説明でわかると思ってるの??

ごめんなさい。時間がないんです。gis -h するともう少しわかります。

$ gis -h                                                                                                                                                                            master:gis
NAME:
   gis - show GitHub issue list

USAGE:
   gis [global options] command [command options] [arguments...]

VERSION:
   0.0.0

COMMANDS:
   help, h      Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --user, -u 'm0t0k1ch1'       target user
   --assignee, -a               filter issues based on their assignee
   --mentioned, -m              filter issues to those mentioned target user
   --page, -p '1'               page
   --help, -h                   show help
   --version, -v                print the version 

即興で描いたわりにはオプションがちゃんとしてます。

こんなクオリティで許されると思ってるの???

つらいです。結構便利だとは思うので、年末年始にきちんとコード整えようと思ってます。

最後に

明日の担当は大先輩の @Gemmbu さんです。きっと、自分のようなカジュアルプログラマーとは比にならないようなディープなネタを提供してくださることでしょう!

最後の最後に

なんと!カヤックでは、Golang に恋してる、または、Golang に恋したい、そんなエンジニアを大募集 しております。

1月17日(土)には 1社だけの合同説明会 という、社員と直接話せるイベントが渋谷ヒカリエにて開催されますので、興味のある方はぜひご参加くださいまし〜。