だいぶあいたけど前回の続き的なのです。

前回の記事ではredmine_mattermostを使用した通知の方法を書きました。が、Mattermost3.10のニュースを見ると、redmine_messengerが紹介されていたので、そちらを使ってみたという内容です。

今回は設定方法とかのスクショは撮ってないので、どの辺りが違ったのか文字だけでざっと下記ます。Webhookの作成方法とかは前回の記事見てください。

環境


違い


redmine_mattermostとの主な違いについてです。

プロジェクトごとに設定画面が用意されており、個別の設定ができる

redmine_mattermostはカスタムフィールドで通知先を変更する設定でしたが、プロジェクトの設定画面に個別に設定できるようになっています。試してないので不明ですが、MattermostのWebhookはチームごとに作成しないといけないためredmine_mattermostだとおそらく限られた1チームしか通知できないのではないかと思います。(redmine_mattermostはグローバルで1つのチャンネルしか指定できない)逆にredmine_messengerではRedmineのプロジェクトごとに個別のWebhookを設定できます。

設定を継承する

グローバルおよび親プロジェクトの設定を継承します。プロジェクトごとに「グローバル -> 親プロジェクト -> 子プロジェクト」と設定を継承していきます。ただ、継承しないという設定が存在しないため、グローバルか親プロジェクトにWebhookとチャネルが設定されている場合は嫌でも通知されます。

これの何が問題になるかというと、親プロジェクトに参加していて、子プロジェクトに参加していないという人でも、Mattemrostのチャンネルに参加していると子プロジェクトに関する通知が閲覧できてしまいます。

これに対処するにはプロジェクトごとにチャンネルを作成し、それぞれ個別に通知するしかありません。また、同様に通知の必要のないプロジェクトでも通知されてしまいます。こちらは苦肉の策になりますが、通知の必要ないプロジェクトで存在しないチャンネルを設定すれば回避できます(ただし、実際は内部で404が返ってきているハズなのでよろしくないとは思う)

更新時に変更した値が表示されない

設定が悪いのか、更新時に一部の情報(ファイルの添付と注記の記述)しか表示されません。これ以外の情報が更新された場合、タイトルと更新者の名前しか通知されません。redmine_mattermostだと、優先度やステータスやトラッカーなどなど…の変更値も表示されていたのですが…。これはかなり不便です。ソースコード見た限り、両者にそこまで差異はなく、表示されそうな感じがするのですが…。設定が悪いのでしょうか…。

不明点


メンション機能(@をつけて通知)というのがあるのですが、これも機能しません。MattermostとRedmineのIDを同じに設定して試したのですが、ダメでした…。

その他


機能と関係ないですが、Webhookの値の頭にスペースが入っているとチケット登録時にInternal Errorがでます。

まとめ


設定継承問題を考えて設定するのが思ったよりめんどくさいといです。更新時に変更した値が表示されればこちらを使用するのですが、使っている環境か設定かそもそも仕様なのかわかりませんが、ここが不便なのでどちらを使用するべきか迷っている状態です。