Github/Github EnterpriseのIssue/PRからTrelloカードを作れるコマンドをGoで書いた

今、僕のいるWebチームではタスク管理の一つとしてTrelloを使っています。 Trelloカードにポイントをつけれるプラグインをいれているのでスプリントの終わりにチーム全体で何ポイントを消化できたのかを測ることでチームのスプリントでの実力を測ることができます。 大きなタスクや見積もりをしたタスク等は、カードを作成して管理ができているのですが、日によって急に差し込んでくるようなタスク(バグ修正、調査依頼、クエリ作成依頼)のようなものはカードを作成することを忘れてしまう事があります。 そういう事が積み重なっていくと、振り返りMTGで「あれやった気がする?」「多分、これもやったので追加します。(あんまり覚えてないけど)」みたいな事が発生します。

1ptでも忘れている場合、正確にチームの実力を測る事ができずこの体制の良い所が失われてしまう気がしたので、カード作成の負担を減らすためにターミナルにissueまたはPRのURLを入力するとタイトルと詳細を取ってきてカードを作ってくれるコマンドを実装しました。

コマンドはGo言語で実装しました。配布が容易なのでこういうツールを作るにはもってこいだなあと思うのと、今年一番興味ある言語だからです。

$ go get -u github.com/garigari-kun/perica

Trelloのアクセスキー、トークン、リストのIDとGithub/Github Enterpriseのアクセストークンをconfigファイルに設定すれば使えます。

今、実装面で悩んでるのが、Trelloはボード、リスト、カードという単位で分類分けされてるのですが、僕の探した範囲だとリストIDを簡単に見つける導線がなかったので、pericaコマンドにリストIDを調べる機能を実装して補っています。ボードIDとボードの名前はアクセス先のURLから手に入るので、以下のようにしてリストIDを割り出しています。

$ perica https://trello.com/b/board_id/board_name

リストIDまでconfigファイルに設定しらもえれば、以下のような感じでTrelloカードを設定したリストへ作成することができます。

$ perica https://github.com/garigari-kun/perica/issues/2

f:id:keisuke_t:20190323135840p:plain

カードさえ作成していれば、日の終わりに行われる夕会でポイントをつけて、[Done]のリストへ移動することができるので、面倒なカード作成からおさらばできそうです。

ps. pericaコマンドの名前の由来は「ペリっとカードが作れる」です。

github.com