Toggl から Slack への連携で無駄に通知が来ていたのを調べてみた

先日、 Toggl の状況を Lambda をつかって Slack に投げるようにしていた。

その時にもわかっていたことではあるが、、、、

こんなかんじで通知が続いてしまってうざいことになってたので調べてみた。

ウザくてすみませんm(_ _)m
これは狼少年ばりに良くない。

状況を確認してみる

ひとまず

if (message !== slackTextBefore) {
    await PostMessage(message);
    slackTextBefore = message;

↓↓↓

if (message !== slackTextBefore) {
    await PostMessage(message);
    console.log("message:"+ message);
    console.log("slackTextBefore:"+ slackTextBefore);
    slackTextBefore = message;

こんな感じで before の方もログに出すようにして確認してみる。

変更して保存、publish すると新しいバージョンになるので Cloudwatch Events の実行ルールのところのバージョンを変更する。

これでしばらく放置してみると undefined になってるのが確認できた。

ロググループができるタイミングなのかいまいちわかってないけど。

投稿処理に分岐を追加する

ひとまずはここを調整すれば良さそうなきがするので

if (message !== slackTextBefore) {
    await PostMessage(message);
    console.log("message:"+ message);
    console.log("slackTextBefore:"+ slackTextBefore);
    slackTextBefore = message;

↓↓↓

if (message !== slackTextBefore) {
    if(slackTextBefore !== undefined){
        await PostMessage(message);
    }
    console.log("message:"+ message);
    console.log("slackTextBefore:"+ slackTextBefore);
    slackTextBefore = message;

こんな感じで投げる処理は undefined 以外とする感じにしてみた。

とりあえず今のところは問題なさそう、、、?なきがする。

年末年始でそこまで Toggl 使ってるわけじゃないのでもう少し経過観察が必要になりそうではあるが、ひとまず、ということで。