実現したいこと
レコードの新規追加、また編集時に複数選択項目の値を読み込み
それによってslackのメンション先を変えたいと思っています。
(例)
A複数選択項目:発注/Aさんへメンション【発注依頼が来ています】
B複数選択項目:連絡依頼/Bさんへメンション【連絡依頼が来ています】
問題点
一つの条件の場合は通知できるのですが、複数設定すると一番最初の条件で処理が終わってしまいます。(上記ではA選択項目の条件を通るとAさんへの通知で終わる)
Promise.allを使うといいというところまでは検索出来たのですが具体的にどこをthenで繋げばよいのか分かりません。
実際のコード
webhookなどの定義は省きます
var flag = false;
(function () {
'use strict';
//編集時、変更があればフラグをtrueにする
kintone.events.on('app.record.edit.change.A選択項目', function(event){
flag = true;
});
kintone.events.on('app.record.edit.change.B選択項目', function(event){
flag = true;
});
//レコード新規作成イベント
kintone.events.on('app.record.create.submit.success', function(event){
var rec = event.record;
if(rec['A複数選択項目'].value == "発注"){
var payload = {
'text':"Aさんへのメンション:発注依頼です。" + '\n'
};
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;
})
}
if(rec['B複数選択項目'].value == "連絡依頼"){
var payload = {
'text':"Bさんへのメンション:連絡成依頼です。" + '\n'
};
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;
})();