kintoneレコード編集時に特定のフィールドを変更した場合、slackに通知させたい

お世話になっております。

kintoneのレコード編集後、保存の際に特定のフィールド(ラジオボタンやチェックボックス)が変更された場合のみwebhookを用いてslackに通知させたいと考えております。

イベント発火を’app.record.edit.change.〇〇〇〇’にすると編集タイミングで通知されてしまうので、保存タイミングで通知したいです。

(function () {

    ‘use strict’;

    

    //レコード編集保存成功のイベントハンドラー

    kintone.events.on(‘app.record.edit.change.〇〇’, function(event){

 

        var rec = event.record;

        var recordId = event.recordId;

        var thisUrl = “https://〇〇〇〇.cybozu.com/k/” + kintone.app.getId() + “/show#record=” + recordId;

        var user = kintone.getLoginUser();

        var changes = event.changes;

        var success = ‘app.record.edit.submit.success’;

       

        //レコード保存のタイミング

        if( success ){

           

            //slackに表示される本文

            var payload = {

                

                ‘text’: “「” + user.name + “」が訪問状況を更新しました。” + ‘’ +

                “作成時間:” + moment().format(‘YYYY-MM-DD HH:mm’) + ‘’ +

                       “物件名:” +  rec[‘お知らせ’].value + ‘’ +

                       rec[‘お知らせ2’].value + ‘’ + 

                       rec[‘お知らせ3’].value + ‘’ + 

                       thisUrl

    

            };

            

            //slackに送信

            return new kintone.Promise(function(resolve, reject) {        

                kintone.proxy(WEBHOOK_URL, ‘POST’, {}, payload, function(body, status, headers) {

                    

                    console.log(status, body);            

                    resolve(event);

                });

            }, function(err) {

                reject(‘データの取得に失敗しました。’);

                return;

            });

        }

 

        return event;

    });

})();

webhookurlは別ファイルで定義しています。

編集前と編集後のフィールドの値が取得できたら

〇〇が△△に変更されました。のような通知を出したいです。

よろしくお願いいたいます。

 

 

 

冨岡 健 さん

以下のように実装してみてはいかがでしょうか。

(function(){
'use strict';

var flag = false;

kintone.events.on('app.record.edit.change.○○', function(event){
// 適当な処理
if (○○.value === △△) {
flag = true;
}
});

kintone.events.on('app.record.edit.submit', function(event){
// slack に通知送信
if (flag) {
// 送信
}
});


})();

HANSA様

ご返信遅れました。申し訳ございません。

ありがとうございます。

組み込んで試してみます。