ブロックチェーン・AI・システム開発の株式会社INDETAIL

IntegromatでBacklogのWebhookを利用して、Slackに自動通知を出す方法

2017.12.13
michiya

Advent Calendar 14日目 です。手の震えが収まってきました。michiyaです。

この記事は、Backlog Advent Calendar 2017 の 16日目でも公開しています。

今回は、Integromatというインテグレーションサービスを利用した作業効率化について紹介します。

対象としたツールは、Backlogです。

BacklogのWebhookとIntegromatを利用し、以下のようなことが実現できます。

  • 課題を新規発行した場合に、種別が「タスク」の課題をSlackに通知する。
  • 課題にコメントが入った場合に、お知らせ先のユーザが「◯◯さん」の場合にSlackに通知する。
  • 1つのトリガーに対し、複数のアプリケーションに通知を送る。

本記事では、Integromatの概要と簡単な使い方を紹介します。

 

Integromat とは

※上図は、Integromatのダッシュボード

発音に困るこのIntegromatというサービスですが、Zapierというこれまた発音に困る類似サービスがあります。

Zapierは、比較的有名なインテグレーションサービスです。

※上図は、Zapierのダッシュボード

 

Integromatでできること

  • Webhookをトリガーに、Slack等のアプリケーションに対し複数のアクションを設定できる
  • Webhookで通知されるJSONパラメータを分解して設定できる(Parseできる)
  • アクションをカスタマイズできる
    • 例)SlackのメッセージをWebhook経由のJSONパラメータを利用して作成できる

Integromatの制約(フリープランの場合)

  • タスクの数が1,000回/月であること
  • データ転送量が 100MB/月であること
  • 最小のインターバルが15分であること(15分毎にトリガーを処理し、アクションされる)

Integromatで苦労するポイント

  • 全て英語で、日本のGoogle先生に聞いても情報が少ない
  • ヘルプがわかりづらい(主観ですが)
    • (最近UI/UXが一新されましたが) 文章がわかりづらい
    • 迷子になりやすい(INDEXがしっくりこない)
  • UIがわかりづらいため、慣れるまで時間がかかりそう

IntegromatとZapierの違い

  • フリープランにおいて、Zapierは100回/月の制約がある。Integromatは1,000回/月の制約となる
    • タスク量が多いプロジェクト(大体5名程度)だと、100回/月だと足りない
  • Integromatは、Routerがあり、1トリガーから分岐することができる。Zapierは、1トリガーからアクションに分岐することができない。
    • 1トリガーで同時通知が複数設定できないため、タスクを増やす必要が出る
  • Integromatは、画面上でオブジェクトを操作でき、直感的に設計することができる。Zapierは順序に合わせて設定することになる。
    • 1画面で複数条件を変更できないので、タスクごとの管理が大変
  • Integromatは、ConnectionやWebhooks等設定に必要な情報を管理できる機能がある。Zapierは無い。
    • WebhookやConnection先の情報は、タスクを閲覧する必要がある

 

Integromatの簡単な使い方

BacklogのWebhookを利用し、『課題を追加した時にSlackにメッセージを投稿する』方法を試してみます。

 

Dashboardから、Create a new scenarioを選択します

What services do you want to integrate? から、検索窓に設定したいアプリケーション(WebhooksとSlack)を検索して選択します。その後、Continueをクリックします。

Moduleの一覧から、Webhooks→Custom webhookを選択します

WebhooksのModuleが生成されるため、選択し、Webhookを設定します

この時、AddからWebhookを追加できます

WebhooksのURLをコピーし、Backlogのプロジェクト設定からWebhookを設定します

Moduleの一覧から、Slack→Create a message を設定します

SlackのConnection/メッセージ送信先のChannelを選択し、メッセージを作成します

メッセージを作成する際に、BacklogからのJSONパラメータをメッセージ内に設定することができます

※上記の例だと、BacklogのURLがメッセージに通知されるようにしています

Run once を実行すると、Scenarioを実行することができます

テストが成功すると、下のような状態になります

これで設定は完了です。Scenarioは保存するのを忘れずに。

(画面左下のCONTROLSに保存アイコンがあります)

 

 

自動化した目的

導入したプロジェクトの概要

  • チャットサービスは、Slackを利用している
  • 管理ツールはBacklogを利用している
  • お客様がベンダー(弊社)をコントロールしている
  • 弊社内に開発チームがある
  • お客様が複数プロジェクトを兼任している

抱えていた問題

  • Slackのスレッドにコメントしても流れてしまう傾向がある
  • Backlog課題にSlackのやり取りを転記することがある
  • お客様のタスク量が多くなった際に、Backlogの課題更新に気づかない(気づきづらい)ことがある
  • 課題の発行やコメントの登録時に、Slackでリマインドする必要が出てしまう
  • 手作業のリマインドのため、漏れが出てしまうことがある

改善した問題

  • お客様のタスク量が多くなった際に、Backlogの課題更新に気づかない(気づきづらい)ことがある
    • Slackに専用チャンネルを用意することで、条件に合わせてハンドリングできるようになった
  • 課題の発行やコメントの登録時に、Slackでリマインドする必要が出てしまう
    • 100%改善することは難しいが、全ての課題やコメントをリマインドする必要はなくなった
  • 手作業のリマインドのため、漏れが出てしまうことがある
    • 基本的には全て通知するため、漏れは無くなった

 

まとめ

ZapierにもFilter機能が標準で備わった(以前は有料だったはず・・・)ため、小規模プロジェクトならZapierのほうが簡単に設定可能です。シンプルなインテグレーションを導入したい場合は、Zapierが使いやすいでしょう。

Integromatは、Router等のオブジェクトにより、アイデア次第で多くの通知コストを削減できると感じています。利用ツールが複数あるプロジェクトには、適している印象です。ただ、情報の少なさとUIへの慣れが必要なので、ある程度の学習コストは覚悟が必要です。

 

ツールは一長一短あり、目的を達成するための手段に過ぎません。

色々な手段を有効活用し、作業効率を上げることができればと日々精進したいところです。

michiya Michiya Maki

最近はマネジメント業務に従事しています。 得意分野は顧客に寄り添った問題解決アプローチ。ブログでは、多種多様なツールを利用した効率化等を書きたい気持ち。 趣味は温泉と音楽とスノーボード。

「いいね」ボタンを押すと、最新情報をすぐに確認できます。