SlackサービスとTrelloサービスの連携でタスク起票を楽に! -trello連携編-
本章では、前章に引き続き、SlackとTrelloを連携させるためにHubotの設定を行います。kikki.hatenablog.com
Trelloの設定
開発者用APIのKeyを取得
Trelloで開発者向けのAPIとして、以下サイトからKeyとSecretを予め取得します。
https://trello.com/app-key
Tokenを取得するために以下URLにアクセスし、外部サービスのアクセス承認を取ります。
https://trello.com/1/authorize?key=【上述で取得したKeyの値】&name=&expiration=never&response_type=token&scope=read,write
以下図のように、承認後に表示された、Tokenをメモしておきます。
環境変数の設定
TrelloをHubotで利用するために、Trelloの環境変数を設定します。
export HUBOT_TRELLO_KEY=【前項で取得したKey】 export HUBOT_TRELLO_TOKEN=【前項で取得したToken】
そしてタスク起票する先のTrelloのcardを指定します。
Trelloでは、全体の構成として以下のようになっています。
Trelloでは、タスク=Cardであるため、タスクの起票先としてListの固有値、IDを指定する必要があります。
そのため、ListのIDを取得し、環境変数に設定します。
curl -s -G "https://trello.com/1/members/me/boards?key=【前項で取得したKey】&token=【前項で取得したToken】&fields=name" curl -s -G "https://trello.com/1/boards/【上記コマンドで確認したBoardの一つのID】/lists?key=【前項で取得したKey】&token=【前項で取得したToken】&fields=name" export HUBOT_TRELLO_LIST=【上記コマンドで確認したListの一つのID】
Trelloのパッケージをインストール
Trelloを扱えるNodeのパッケージをインストールします。
sudo npm install node-trello --save
Hubotのスクリプトを編集
Hubotで実行するスクリプトを追加します。
[scripts/trello.coffee]
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_LIST}, (err, data) -> if err msg.send "起票に失敗しました[#{err}]" return msg.send "[#{title}]をTrelloに起票しました"
実行
以下のメッセージをSlack上に打つと、Trelloにタスクが起票されます。
todo 【タスク起票時のタイトル】
筆休め
本章では、SlackとTrelloの連携設定の最終章でTrelloの設定を行いました。Slackを起点として、様々なサービスへの介在が行えるので、色々とカスタマイズしてみてください。
以上、「SlackサービスとTrelloサービスの連携でタスク起票を楽に! -trello連携編-」でした。