こんにちは。
kintoneでレコード詳細画面を開き編集し、チェックボックスにチェックが入ってレコードを保存した際に一度だけSlackに通知をしたいと思い以下のようにコーディングしました。
JS
1 kintone.events.on("app.record.edit.submit.success", function(e) { 2 var field = e.record; 3 var shop = e.record.ドロップダウン.value; 4 var name = e.record.文字列__1行__0.value; 5 var car = e.record.文字列__1行__3.value; 6 var type = e.record.文字列__1行__4.value; 7 var number = e.record.文字列__1行__6.value; 8 var year = e.record.文字列__1行__5.value; 9 var key = e.record.ラジオボタン.value; 10 var day = e.record.日付_10.value; 11 var ss = e.record.ドロップダウン_2.value; 12 var chk = e.record.チェックボックス_6.value 13 console.log(field); 14 15 if (chk == 'チェックが入りました') { 16 var thisUrl = "https://サブドメイン/k/guest/15/" + kintone.app.getId() + "/show#record=" + kintone.app.record.getId(); 17 var webhookUrl = 'https://hooks.slack.com/services/------------------'; 18 var payload = {メッセージ}; 19 return new kintone.Promise(function(resolve, reject) { 20 kintone.proxy(webhookUrl, 'POST', {}, payload, function(body, status, headers) { 21 console.log(status, body); 22 resolve(e);
これですとチェックボックスにチェックが入っているとき保存ボタンを押すたびに通知が来てしまいます。
そこで以下のコードを先頭に追記しました
JS
1 var chk1 = ""; 2 var chk2 = ""; 3 4 kintone.events.on('app.record.detail.show', function(a) { 5 console.log(a.record); 6 chk1 = a.record.チェックボックス_6.value; 7 console.log(chk1); 8 }); 9 10 kintone.events.on("app.record.edit.submit.success", function(e) { 11 var field = e.record; 12 var shop = e.record.ドロップダウン.value; 13 var name = e.record.文字列__1行__0.value; 14 var car = e.record.文字列__1行__3.value; 15 var type = e.record.文字列__1行__4.value; 16 var number = e.record.文字列__1行__6.value; 17 var year = e.record.文字列__1行__5.value; 18 var key = e.record.ラジオボタン.value; 19 var day = e.record.日付_10.value; 20 var ss = e.record.ドロップダウン_2.value; 21 chk2 = e.record.チェックボックス_6.value 22 console.log(field); 23 24 25 if(chk1 != chk2){ 26 if (chk2 == 'チェックが入りました') { 27 var thisUrl = "https://サブドメイン/k/guest/15/" + kintone.app.getId() + "/show#record=" + kintone.app.record.getId(); 28 var webhookUrl = 'https://hooks.slack.com/services/------------------'; 29 var payload = {メッセージ}; 30 return new kintone.Promise(function(resolve, reject) { 31 kintone.proxy(webhookUrl, 'POST', {}, payload, function(body, status, headers) { 32 console.log(status, body); 33 resolve(e);
レコード詳細を開いたときの初期のチェックボックスの状態を変数に格納し、変更があった場合のみ通知しようとしましたが、
これを記述してもやはり保存のたびに通知が入ってしまいます。
なにか解決方法があればご教示いただけませんか?
宜しくお願い致します。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。