ついにTrelloが公式にSlackとLinkするようになったので、Hubotを使わなくてもTrelloにチケットが作成できるようになりました。ボードの切り替えなどはHubotを使ったほうが簡単にできるなど、いくつかメリットは残っています。
http://help.trello.com/article/1049-slack-app
現在CafeSnapというアプリをプロデューサー2人 + エンジニア2人で開発しています。
去年の4月にスタートしてからはSlack + GoogleDocs + Redmineなどでコミュニケーション・タスク管理をしていましたが、お互いのタスクの漏れを防ぐためにこれらのツールを試験的に使っています。
これらのツールでタスク管理を行うメリット
Slack上でタスクを作成することができるため、簡単にタスクが作成できる
今までチャット上でやりとりしていて、そのまま流れて忘れてしまっていたタスクも下記のように気軽にストックできます。
例えば、チャット上で下記のように打つとタスクが作成されます。
Trelloの見た目がわかりやすい
担当者のアイコンが表示されたり、操作方法がシンプルです。エンジニア以外の人も気軽に利用できます。
リマインドも自動化することによって、相手に催促したりするストレスから開放される
hubotでリマインドし、それに対して一言返すとかルールを作るより良いかもしれません。それによって、「あれってやった?」「いや、まだ。。」みたいなやりとりを無くすことができます。
hubotの準備
下記を参考にheroku上でhubotを動かせるようにします。
slackにHubotを導入(Heroku経由)
Trelloのトークンなどを取得(ここが若干面倒くさい)
Trelloはアカウントを作成し、ログインした状態で進めます。
1. 下記にアクセスし、Keyをコピーしておきます
2. 下記にアクセスしてAllowを押します。
https://trello.com/1/authorize?key=[取得したkey]&name=&expiration=never&response_type=token&scope=read,write
3. tokenが発行されるので、メモっておく
4. 下記にアクセスし、ボードのIDをメモします
[
{
name: "ボード名",
id: "ボードのID"
}
]
5. 下記にアクセスし、リストのIDをメモします
[
{
name: "リスト名",
id: "リストのID"
}
]
6. Herokuに上記でメモした値を設定します
herokuコマンドが使えない場合は「heroku toolbelt」などでググって下さい。
$ heroku config:set HUBOT_TRELLO_KEY=xxxxxxxx
$ heroku config:set HUBOT_TRELLO_TOKEN=xxxxxxxx
$ heroku config:set HUBOT_TRELLO_TODO=xxxxxxxxxxx
$ heroku config
hubot/herokuの準備
1. Trelloのモジュールをインストール
$ npm install node-trello --save
2. slackに反応するscriptを追加
Trello = require("node-trello")
module.exports = (robot) ->
robot.hear /^todo (.*)/i, (msg) ->
title = "#{msg.match[1]}"
trello = new Trello(process.env.HUBOT_TRELLO_KEY, process.env.HUBOT_TRELLO_TOKEN)
trello.post "/1/cards", {name: title, idList: process.env.HUBOT_TRELLO_TODO}, (err, data) ->
if err
msg.send "保存に失敗しました"
return
msg.send "「#{title}」 をTrelloのToDoボードに保存しました"
3. herokuにpush
$ git push heroku master
まとめ
プロジェクトを進めていると、どうしても職種によってそれぞれのタスクがあり、優先度も違います。しかし、エンジニアやプロデューサーがお互いの仕事を理解しあって同じ方向に進んでいくためにも、 これらのツールを駆使しながら日々改善をしていくことが大事かなと思います。
ツールは補助的な役割ではあるものの、人が気を使う部分をbotに任せるなど上手く活用していきたいですね〜
TrelloのAPI一覧(追記中)
リストに紐づくカード一覧を取得