新規投稿
フォローする

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 + "」が訪問状況を更新しました。" + '\n' +
                    "作成時間:" + moment().format('YYYY-MM-DD HH:mm') + '\n' +
                       "物件名:" +  rec['お知らせ'].value + '\n' +
                       rec['お知らせ2'].value + '\n' + 
                       rec['お知らせ3'].value + '\n' + 
                       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は別ファイルで定義しています。

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

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

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

 

 

 

0

2件のコメント

Avatar
HANSA

冨岡 健 さん

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

(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により編集されました
0
Avatar
冨岡 健

HANSA様

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

ありがとうございます。

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

0
ログインしてコメントを残してください。