BacklogとSlackの連携ツールを作った話

入社して1年経とうとしていますgengenです。
夏風邪で肋骨にヒビが入りました😉

この記事ではBacklogの更新をSlackに通知するツールを作ったときの話を書きます。


backlog.comより



slack.comより

なぜ作ったのか

弊社では業務連絡やコミュニケーションに主にSlackを使っています。
Backlogで管理しているプロジェクトで通知をSlackに集約したいという意見があり、
(当時)BacklogにSlack連携機能がなかったため作ることになりました。

仕組み

以下のような形で実現しました。

  1. BacklogのWebhook連携が、更新情報をGoogle Apps Scriptで作ったWebアプリにPOST
  2. Google Apps Scriptで送信先のチャンネルの判定、更新情報をパース
  3. Slack向けにフォーマットしてSlackIncomingWebhooksにPOST

更新情報のパーサーは「GASを使ってbacklogの通知をslackに流す」を参考にさせていただきました🙇

使われている様子

弊社Slackの一部のチャンネル(知る限り実験的に導入した1チャンネル)で使われています。

Backlogのマスコットキャラクターにあやかりgorillaと命名しました。元気に動いてますね。

BacklogにSlack連携機能がリリースされました!🎉


backlog.comより

めでたい!
正直、主要チャットアプリとの連携機能は公式からリリースされるのではないかと薄々思ってはいました。

というわけで自社で管理しているBacklogスペースから通知するという用途において、gorilla君はお蔵入りを果たしました😉

おわりに

とはいえ、公式のSlack連携機能では出来ず、gorillaに出来ることもあります。

  • WikiやGitリポジトリなどについての通知
    公式の連携機能では現在課題以外についての更新を通知できません。

  • Slackのアカウントがゲストの場合、Backlogの管理者権限がない場合の導入
    公式の連携機能の場合、アプリ導入権限を持つSlackアカウントと、プロジェクト管理権限を持つBacklogアカウントに同じブラウザでログインする必要があります。
    gorillaであればアカウントの所有者が同一人物でなくてもSlackのWebhookUrlを共有できれば設定することができます。

この利点が生かせる事態になると良いですね😉

最後まで読んでいただき、ありがとうございます。

関連記事

Slackの全チャンネルのメッセージを1箇所に表示できるアプリSlackStream

デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

gengen

gengenの書いた記事

関連する記事

夏のTechRachoフェア2019

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ