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

**URL:** <https://community.cybozu.dev/t/topic/864>\
**Category:** kintone 開発相談\
**Created:** [2017 年 8 月 21 日午前 8:44 UTC](https://community.cybozu.dev/t/topic/864 "2017-08-21T08:44:35Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account1855](https://avatars.discourse-cdn.com/v4/letter/l/4491bb/32.png) [@Legacy\_Account1855](https://community.cybozu.dev/u/Legacy_Account1855)\
**Post date:** [2017 年 8 月 21 日午前 8:44 UTC](https://community.cybozu.dev/t/topic/864/1 "2017-08-21T08:44:35Z")

</div>

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

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

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1821](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@Legacy\_Account1821](https://community.cybozu.dev/u/Legacy_Account1821)\
**Post date:** [2017 年 8 月 23 日午前 2:19 UTC](https://community.cybozu.dev/t/topic/864/2 "2017-08-23T02:19:43Z")

</div>

Akiさん、こんにちは

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

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

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1821](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@Legacy\_Account1821](https://community.cybozu.dev/u/Legacy_Account1821)\
**Post date:** [2017 年 8 月 23 日午後 2:06 UTC](https://community.cybozu.dev/t/topic/864/3 "2017-08-23T14:06:13Z")

</div>

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

```
/*
* フィールドコード：
* ・対象データフィールド（文字列等）：データ
* ・履歴データフィールド（文字列等）：変更履歴
* ・前回変更日時（日時）：前回変更日時
*/

(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;
});

})();

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1855](https://avatars.discourse-cdn.com/v4/letter/l/4491bb/32.png) [@Legacy\_Account1855](https://community.cybozu.dev/u/Legacy_Account1855)\
**Post date:** [2017 年 8 月 23 日午後 2:51 UTC](https://community.cybozu.dev/t/topic/864/4 "2017-08-23T14:51:16Z")

</div>

Shotaro Matsudaさん

&nbsp;

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

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

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

参考にさせて頂きます！
