お世話になっております。
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は別ファイルで定義しています。
編集前と編集後のフィールドの値が取得できたら
〇〇が△△に変更されました。のような通知を出したいです。
よろしくお願いいたいます。