Webhookで変更前の値を取得したい

値を変更すると、webhook(type:UPDATE_RECORD)が飛ぶように設定ができます。

あるフィールドを「hoge」→「fuga」と書き換えた場合に、fugaは取得できますが、同様にhogeも取ることは出来ないのでしょうか??

Akiさん、こんにちは

そのフィールドを変更したときに、当該アプリ内の別フィールドに変更履歴を残すようなカスタマイズを行い、

その変更履歴フィールドを取得する、という方法はいかがでしょうか?

勉強がてら作ってみました。参考まで。

/*
* フィールドコード:
*  ・対象データフィールド(文字列等):データ
*  ・履歴データフィールド(文字列等):変更履歴
*  ・前回変更日時(日時):前回変更日時
*/

(function() {
"use strict";

var recordPrev = null;

// 編集画面を編集画面を開いた時に変更前のデータを保持
kintone.events.on("app.record.edit.show", function(event) {
    recordPrev = event.record;    // 変更前データを取得
    recordPrev['変更履歴']['disabled'] = true;
    recordPrev['前回変更日時']['disabled'] = true;
    return event;
});

// 対象フィールド変更時に履歴データ更新
kintone.events.on("app.record.edit.submit", function(event) {
    var record = event.record;

    // 保存前のフィールド値が変更前データと異なっている場合に変更履歴を保存
    if (record['変更履歴']['value'] !== recordPrev['変更履歴']['value']) {
        record['変更履歴']['value'] = recordPrev['データ']['value'];

        // 1つ前のデータが作成された日時を記録
        record['前回変更日時']['value'] = recordPrev['更新日時']['value'];
    }
    return event;
});

})();

 

Shotaro Matsudaさん

 

ご丁寧な回答ありがとうございます!

やはりカスタマイズする必要があるのですね。

変更履歴のフィールドを作成し、そこで保持するというのは面白いです。

参考にさせて頂きます!