背景・実現したいこと
Webhookの設定でプロセス管理のステータスの更新(完了)でのみ通知を送りたいです。
が、アプリのWebhookの設定画面には、プロセス管理のステータスの更新の選択肢がありません。どのようにすればよいでしょうか。
Webhookの設定を行うと、kintoneのアプリで以下の操作が行われた際に通知が送信されます。
- レコードの追加
- レコードの編集
- レコードの削除
- コメントの書き込み
- プロセス管理のステータスの更新
https://jp.cybozu.help/k/ja/user/app_settings/set_webhook/webhook.html#set_webhook_webhook_30
エラー情報
利用したソースコード
webhook の設定で、通知を送信する条件としてステータス更新があります。
ステータスの更新(完了)のみとする条件はありませんので、webhook の受け側で レコードのステータスで処理する判定を入れるしかないと思います。
お世話になっております。
上記通知を送信する条件なのですが、「通知を送信する条件」チェック状態に関係なく、保存ボタン押下時に、ADD_RECORD や EDIT_RECORD、DELETE_RECORD で WebHook が呼び出されているようです。つまり、「レコードの追加」がチェックされてなくても、ADD_RECORD で WebHook が呼び出されています。また、ステータスの更新については、チェック状態に関係なく WebHook が呼び出されていないように見えます。こちらは仕様でしょうか?または「通知を送信する条件」に加えて、何か設定する必要があるのでしょうか?
検証用に azure function を作成して、webhook の実験をしてログを確認してみました。
結果は、「通知を送信する条件」のとおりの動作でした。
module.exports = async function (context, req) {
context.log('webhook request:', req.body.type, req.body.app, req.body.record);
const responseMessage = ' "This HTTP triggered function executed successfully. ' + req.body.type;
context.res = {
// status: 200, /* Defaults to 200 */
body: responseMessage
};
}
・webhook の通知条件をすべてチェック(レコード追加、レコードの編集、レコードの削除、コメントの書き込み、ステータスの更新)して、テスト
→ 全種類の webhook が送信された。
・webhook の通知条件をステータスの更新のみチェックして、テスト
→ ステータスの更新のみ webhook が送信された。
レコード追加、レコードの編集、レコードの削除、コメントの書き込みの webhook は、送信されない。
Gucchiy さんの検証でうまく動作していないとすると、「通知を送信する条件」を設定後に「アプリの更新」を行わずアプリに反映していないなどの問題があった可能性があります。
恐れ入ります、ご確認、大変ありがとうございます。大変失礼いたしました、「アプリの更新」を行ったところ、正常にステータスの更新のみ webhook が呼び出されることを確認致しました。
お手数おかけして、重ねて申し訳ありません。またありがとうございました。
よろしくお願いいたします。