Zapierを使ってTrelloとMattermostを連携したら割と小回りがきいた


【目次】

1.できたこと
2.方法

1. できたこと

ざっくりいうと以下を実行しました。手順書的にまとめます。
①Trelloの未処理タスクが期限前日を迎えたら、
②Mattermostの特定のチャンネルに通知する設定

2. 方法

以下2ステップです。めちゃ楽でした。
・2-1. Mattermostで準備
・2-2. ZapierでZap(シナリオ)を作成

2-1. Mattermost準備

① Mattermost開く > 統合機能 > OAuth 2.0アプリケーション をクリック

※OAuth 2.0アプリケーションがない場合は管理者に確認してください(管理コンソールから設定変更できるようです)

② 右上の「OAuth2.0アプリケーションを追加する」をクリック > パラメータ入力 > 保存

以下のようなパラメータ入力が求められます。

・信頼済み
 「はい」を選択
・表示名
 なんでもいいです。僕はZapierTrelloとかにしたような
・説明
 なんでもいいです。
・ホームページ
 https://zapier.com/ を入力
・アイコンのURL
 なんでもいいです
・コールバックURL
 https://zapier.com/dashboard/auth/oauth/return/MattermostDevAPI/を入力

2-2. ZapierでZap(シナリオ)を作成

① アカウント作成(以下URLから)

② 「Dashboard」を開き、連携する2つのアプリを設定します

「connect this app...」にTrelloを、「with this one!」にMattermostをいれましょう

③ 詳細設定

(1)「何が起こったら何をするか」を設定
「When this happens...」にCard Dueを、「then do this!」にpost messageを指定する
> 「Try it」ボタンが表示されるのでをクリック

(2)TrelloAccountを選んで認証>Continueをクリック

Set Up Triggerというメニューに移ります

スクショのあとに設定内容載せます。

(1)Board
通知させたいBoardを選ぶ

(2)Time Before: 時間を選ぶ
・Time Before 1 2 3
 数量を選べます("1"日前にするのか、"2"日前にするのか)
・Time Before(Unit)
 時間の単位を選べます(~"日"前にするのか、~"時間"前にするのか)

(3)Status: カードの状態を選びます
・incomplete: 終わってないタスク通知
・complete: 終わってるタスクだけ通知
・all: 両方

(4)Only Cards Where You're A Member?
「自分がメンバーになってるカードだけ通知するか」なので良しなにやってください

かゆいところに手が届く感じだなと思います。
これでZapierでのTrello側の設定完了。
つぎにMattermostです。

Post Message in Mattermostの「Edit」をクリック

(1)「Mattermost account」>「Connect a new account」をクリック
 (2回目以降は今回紐付けたアカウントが使える)

(2)別窓で紐付けるMattermostアカウント情報入力画面が開きます

・入力項目
 ・MattermostURL: https~~から、"/"の前までのMattermostのURLを入力
 ・Client IDとClient Secretは「2-1. Mattermostで準備」で実行したOAuth2.0アプリ作成時に生成済。
・以下参照方法
 >Mattermostの統合機能>OAuth 2.0アプリケーション>自分が作ったアプリ(僕の場合は「ZapierTrello」)の情報を参照>Mattermostアカウント情報入力画面にコピペ

(3) Set Up Action
・Team, Channel: どのチームのどのチャンネルに投稿したいか選ぶ
・MessageText
 →Trelloから引っ張りたい情報を選んだり、その上にtextをいれたり出来ます
・僕は以下のようにしました。

以下タスクの期日は明日です!
[name](選択項目から選択)
[dueDate](選択項目から選択)
[shortURL](選択項目から選択)

みたいな感じです。
Test投稿もできるのでうまく行かなければいろいろと試してみてください。

上記設定して有効化すれば完了です。

【所感】
Trello◯◯ボードの期日に基づくMattermost通知が一つのZapになるので、
一個一個設定しなければならないのが若干大変ですが、
(有料プランならもっといろいろ出来るのかな?)
IFTTT等と比べて、なかなか細い設定を行えるのがいいなと思いました。