157
142

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

アプリケーションをつなぐIntegromatが素晴らしい

Last updated at Posted at 2017-08-18

今まで実施していたこと

Zapierを利用し、BacklogのWebhookを利用して自動化を行っていました。
Zapierは、フリープランで以下のような制限があります。

  • Zaps(自動化の設定のこと)が5つまで
  • 1ヶ月のタスク(Zapsの実行)が100回まで

その為、複数アカウントを作成することで制限を超える度にタスク(Zapierの通知設定のこと)を切り替えていました。
また、WebhookでPOSTするJSONのデータを判定して通知の振り分けがしたいと考えていました。

Zapierでは、JSONを判定するような仕組みは無いので、自分で作るかーと思っていました。

Integromatを見つけた

最強連携サービス「Integromat」がZapier/IFTTTをあっさり超えるラスボス感 でなんかスゴいタイトルだったのでなんだなんだと試してみたら。。。

本当にタイトル通り、あっさり超えて来ました。

基本的なことは、上記の記事でわかりますが、
「WebhookでPOSTするJSONのデータを判定して通知の振り分け」ができる!という機能を見つけました。

ラスボスどころか神でした。

ZapierとIntegromatを比較した

[Zapierでできない(または制限があって物足りない)こと]

・フリープランだと、タスクが 100回/月 であること
 →1ヶ月だと120回〜150回程度のタスクが必要そうだったので、物足りない
・Webhookで通知されるJSONパラメータ毎に判定できない
 →単純に通知されたJSONをそのまま通知することしかできない

[Integromatでできること]

・フリープランでも、タスクが 1,000回/月であること
 →十分足りる
・WebHookで通知されるJSONパラメータに判定文を設定できる
 →新規発行された課題の担当者が◯◯さんの場合、Slackに通知する。ということができる。
 →かなり柔軟性があるので、アイデア次第で色々できそう
・ノンプログラミングでかなりのパターンの通知が作れる
・複数のアプリへ同時投稿が可能

[Integromatのデメリット]

・全て英語で、日本のGoogle先生に聞いても情報が少ない
・UIがわかりづらい。慣れるまで時間がかかりそう。
 → Youtubeのチュートリアル動画(英語) でなんとか理解した。

やったこと

Backlogの課題発行時に、任意の担当者にアサインされた場合にSlackに通知する。

設定する前に

とりあえず、前述の記事とYoutubeのチュートリアル動画(英語) をざっと眺めることをお勧めします。

いきなり触ろうとするとなんだかよくわからなくなって疲れます。(疲れました)

WebhookをURLを取得する

Moduleと呼ばれるオブジェクトの中で、Gatewayを選びます。
Gatewayでは、任意のデータ構造(Data structure)を追加し、Webhookを作成できます。

Integromat00001.png

このWebhookを、BacklogのWebhookに登録します。

JSONを判定する

Gatewayを配置した後、SlackのModuleを配置します。
GatewayとSlackの間にあるスパナアイコンをクリックすると、フィルターが設定できます。

Integromat00002.png

フィルター内のConditionにフォーカスを当てると、設定するJSONがホバーされます。
このJSONパラメータから任意のキーをドラッグ&ドロップすると、設定できます。

任意の条件(Operatorsのcontent.assignee.userId)を選び、判定したいユーザIDを入力します。
(画像では、コメントが存在していない場合を追加しています)

テストする

Run once で、1度だけテストすることが可能です。
再生ボタンをクリックし、Backlogで課題を追加すると、Webhookに通知が届き、動作を確認できます。

Integromat00004.png

上手く行かない場合は、問題がある箇所でエラー表示されます。

まとめ

で、どっちがいい?

単純にJSON判定などなく、Webhookをそのまま通知したい場合で、月のタスクが100未満ならZapierの方が使いやすいです。
複雑な条件で色々試したいのであれば、Integromatが神じゃないかと。
私は、Integromatを使い倒したいと思います。

補足

例で出した画像では、
BacklogからWebhook経由でSlackに3パターンの条件分岐を行ない、Trelloにも同時にカード作成してます。
この条件分岐に使ってる Router が肝ですね。

ちょっと走り書きっぽくなりましたが、
いろいろ試したらまた纏めたいなと思っています。

157
142
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
157
142

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?