Redmine で、フォーラムの更新時にSlack通知したい

Redmineは便利

Redmine って便利ですよね。プラグインもたくさんあるし。

とあるチーム作業のために、Redmine を導入していて、適宜プラグインを追加して利用しています。
今風のチーム作業ということで、Slackも利用しているので、当然のように Redmine から Slack に通知させたくなるわけです。

というわけで、検索してみると、鉄板どころのプラグインがありました。
https://github.com/sciyoshi/redmine-slack

これを導入してみたところ、いい感じに通知できましたが…

足りない…

今、フォーラムをノウハウ共有場所として使っているので、フォーラム更新時にも通知が欲しい…。

神よ! フォーラムの通知をください!」
…神は答えた、「なければ貴方が作るのです」

もちろん、0からは作りません…。
上記の redmine-slack プラグインを fork して、既存通知機能を拡張してみました。

ちなみに、出来上がったのがこちらになります。
https://github.com/knaou/redmine-slack

既存コードを参考にしながら Redmineの仕様を探るところからです…。
どうやら、Redmine の 2.4以降?だと、

こんな感じで、Listener を書いてあげて、init.rb で読み込めば、簡単に Hook 処理を書けるらしい…。
使えるHookは、公式のWikiにありました。(最初公式のWikiの存在知らずに、Redmine のコードをgrepして探しました…(笑))

「フォーラム」と言っているけど、モデル名は 「Board」だったり、モデルのBoard から書き込みへの関連名は topics なのに、書き込みのモデルが 「Message」だったりと、ちょいちょい悩みましたが…
Railsの経験はあったので、Rails console を叩いたり、Railsの規則に従ってコードを読めば何とかなりました。

還元せよ

出来上がったものがこちらになります。
https://github.com/knaou/redmine-slack

便利なものを使わせてもらっているのだから、便利なものができたら還元するのは道理。
というわけで、本家に pull request 投げてみました。

…実は pull request を受けたことはあるけど、pull request を出すのは初めてだったりします。
ちょっと…ドキドキ…!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*