TrelloのCLIクライアントをGoで書いた

影響されやすい性格なので、Rebuildを聞いて形骸化しかけていたTODOリストの運用を再開しました。

rebuild.fm

最近までTodoistを使っていたのですが、ちょっと気分転換もしたかったので、以前使っていたTrelloに出戻りしました。

Todoistと違ってTrelloは公式のMac版クライアントがないようなので、主にブラウザから使っているのですが、ちょっとタスクのリストを確認したいときに億劫になってしまうので、ターミナル上で実行可能なCLIクライアントを書いてみました。

github.com

「trello cli」で検索すると、すでにいくつかTrelloのCLIクライアントが公開されています。

github.com

github.com

すでにあるものをなぜ作ったかという話ですが、GWに時間があったので書いてみたくなった。というのが主なモチベーションです。

Goで書いた理由は単純にGoを使いたかったというのもありますが、Githubに公開してしまえばgo getで気軽にインストールできるというのが大きな要因です。

また、すでにGoのTrello APIクライアントがあったので、それを利用できたというのもあります。

github.com

実のところ、実装の大部分はこのライブラリのサンプルコードとほとんど変わりません。

使い方

インストール

go getを使います。

$ go get github.com/ariarijp/trellocli

インストール後の設定

~/trelloclirc に必要な設定を書きます。rcという名前付けが的確だったかについては微妙に自信がありません。

app_key = "YOUR_TRELLO_APP_KEY"
token = "YOUR_TRELLO_TOKEN"
username = "YOUR_TRELLO_USERNAME"

Trelloのアプリケーションキー、アクセストークンなどは、以下のページあたりから発行できると思います。

Trello Developers

実行

設定ファイルを作ったら実行してみます

$ trellocli
# ボード名 (ボードのURL)

* リスト名
  * カードのタイトル
  * カードのタイトル
  * カードのタイトル
  * カードのタイトル
  * カードのタイトル
* リスト名
  * カードのタイトル
  * カードのタイトル

こんな感じで、微妙にMarkdownっぽい形式でタスクリストが表示されます。

また、作業途中ではありますが、ラベルの色にあわせて表示色が変わるようにもなっています。

(実際に使っているタスクリストなので、ほぼほぼモザイクになっています。見難いですがご容赦ください

f:id:ariarijp:20160510231826p:plain

作ってみた感想

Markdownっぽい表示はQiita:teamでの日報で使い回すためだとか、ラベルにあわせて色分けするとか、自分の業務を楽にするためにだけ書いたので短いコードながら楽しく書けました。

かなり雑なコードですが、go getしたいがためにGithubにpushしたので、気になるところはご指摘いただきたかったりもします。

まだ使い始めて2日程度ですが、ターミナルから出なくてもちょっとしたタスクの確認ができるのは悪くない感じです。

まとめ

そういえばRebuildで「〇〇ってツールを便利に使うために△△しました」とか言うのってなんか恥ずかしい。。みたいなことを聞いた気がする。。と思いながらこの記事を書きました。