Posted at

Hipchatの通知が表示されないときに確認すべきこと

More than 1 year has passed since last update.

HipchatにおけるSend room notification(いわゆるHipchat通知)を作っていて、こんな不思議な事に遭遇したことはないだろうか。


  • 未読マークが出ない

  • 通知センターやスマートフォンに通知が来ない

  • 他の人には通知が来るのに、自分だけ来ない

この辺でハマって原因判明に時間を要したので、僕のような人が出ないようにQiitaに書いておこうと思う。


正しく通知されないときの確認項目


1.HipchatのAPI経由メッセージは、デフォルト「非通知」

ちゃんとHipchat Send room notification APIv2を読めば書いてあるが、通知(=notify)は、明示的に設定しないと無効(false)である。


notify:

Whether this message should trigger a user notification (change the tab color, play a sound, notify mobile phones, etc). Each recipient's notification preferences are taken into account.

Defaults to false.


Hipchatに通知するプログラムを書く時は、 必ずnotifyパラメータを「true」 にしてメッセージを送信する必要がある。


2.APIv1はもう古い

APIv1(管理者がアクセスキーを発行するやつ)を使っているような古いサービスでは、上記フラグが設定されていないことが考えられる。

そんな時はもうどうしようもない。

そういうサービスは意外と多いので注意。

誰かが昔作ったようなライブラリとか、送信例とかも、APIv1を想定していることがあるので注意。


3.自分のアクセスキーで作成したメッセージは、自分に通知されない

APIのv1とv2の大きな違いは、アクセスキーの発行者だ。v1はグループの管理者(≒システム管理者)、v2は個人のアカウントとなる。APIv2を使うなら、自分のアカウントで通知を出せるわけだ。これは個人用のツールを作るときや、開発時のテストのときに便利である。

そこに罠がある。

自分のアクセスキーで送信したメッセージは、自分が送信したメッセージとなる。

自分が送ったメッセージは自分には通知されない。 (2017/01/26現在)

APIを使って送ってるんだから、通知するほうが自然だと思うのだが・・・・


さいごに

この記事は2017/01/26に書いたものであり、また仕様が変わってしまうかもしれない。

常に最新のドキュメントを読むのが当然だが、 ドキュメントの更新が追いついていない ことも多々あるので注意。