はじめての Go で ZenHub Pipeline の Issue をまとめる CLI ツールを作った

※ はじめてと言っても昔ちょっとだけ触ったことあります。ツール書ききったのははじめて

github.com

今携わっているチームでは ZenHub を使ってタスク管理しています。

GitHub Issue を作成するメンバーはエンジニアの他、Product Owner の方や分析・グロースを担っている方も含まれるので(ありがたい🙏)、ZenHub の監視を怠るとあっという間に大量のチケットが埋もれてしまう状況です。


で、ここしばらくは Issue 作成時に配置される Pipeline(ZenHub の一番左にあるやつ)をチーム朝会の度に眺めていました。

しかし私達のチームはリモートワーカーがいたり(主に私)多忙で朝会に出られないため後から情報を追いたい方がいたりで、朝会のサマリーを事前に Google Docs に書き込んでいるのが常です。

そうなると今日見て欲しい Issue の情報をタイトルとリンクを添えて記載しておくことになるのですが、これを何回も手作業でやっていくのはしんどいですね。(しんどかった)


てことで、効率化半分・気晴らし半分で CLI ツール作りました。

Go を選んだ決め手というのはないのですが、元々興味があったのとよくお世話になっている peco が Go で書かれていたので親しみをこめて Go にしました。


例えばこんな感じの Board になっていたとして、

f:id:laprasdrum:20171111125854p:plain

こんな感じで叩くといい感じに Issue 一覧を取得できます。

$ peekabow --owner laprasdrum --repo kaptam -pipeline Inbox issues
🔽  laprasdrum/kaptam: Inbox's issues here:
#1: This is Sample Issue 😄 : https://github.com/laprasdrum/kaptam/issues/1
#2: Also Here 👀 : https://github.com/laprasdrum/kaptam/issues/2

GitHub と ZenHub の Access Token が必要になりますが、詳しい設定方法はこちらのテンプレートファイルを見て案内通りに進めてくれれば大丈夫です。


同じように ZenHub でチームタスク管理してる人いれば是非使ってみて下さい 🐱