レコードが変更されたことを知りたい場合、設定画面から「通知」→「アプリの条件通知」で、「レコードの編集」にチェックを入れることで通知を受けとることが出来ます。

この設定で少し不便な点は、すべてのフィールドに対しての変更であること。
例えば、顧客マスタで「住所」というフィールドが変更されたときだけ知りたい、なんてことがあります。
ですが、「住所」以外の項目が変更されたときまで通知が届いてしまい、本当に必要な通知がどれなのかわからなくなってしまいます。

このプラグインは、そんなときに役立つプラグインです。
特定のフィールドだけの変更を検知し、スレッドにコメント投稿、アプリにレコード登録、アプリ内のコメント投稿のいずれかを行います。

動作イメージ

画面上で、レコード編集し保存ボタンクリック後のタイミングで動作します。(他プラグイン・カスタマイズのAPIでの更新やCSVファイル読み込みでは変更は検知されません。)

指定したフィールドに変更があった場合に、スレッドまたはアプリのコメントに投稿、またはアプリにレコードが登録されます。

【編集保存成功後の使用イベント(参考 cybozu developer network)】

レコード編集画面の保存成功後イベント
レコード一覧画面のインライン編集の保存成功後イベント

通知先に「スレッド」を選んだ場合

変更があった場合に、指定したスレッドにこのようなコメントが投稿されます。
プラグイン設定で、宛先を指定しておくと、投稿時に通知が送られます。

変更URLをクリックして変更内容を確認することができます。

通知先に「アプリ」を選んだ場合

変更があった場合に、アプリに変更履歴URLが登録されます。更新者は、Administratorになります。
アプリ通知設定で、宛先項目のユーザー、組織、グループを通知先に設定しておくことで、通知を受信できます。

通知先に「コメント」を選んだ場合

変更があった場合に、そのレコードにコメントが投稿されます。
コメント投稿者は、変更者本人になります。

プラグイン設定

設定項目 説明
プラグインログ
ログアプリID
プラグインエラーが発生した場合
「プラグインログ機能について」のページを参照してください。
通知先 スレッド、アプリまたはコメントから選択します。
スペースID 通知先に「スレッド」を選んだ場合に、必須です。
通知を投稿するスレッドのスペースIDを入力します。
スペースIDとスレッドIDについては、投稿先のスレッドを開いてURLを確認してください。
spaceの後ろの数字がスペースID、threadの後ろの数字がスレッドIDです。
下記例では、スペースIDは1、スレッドIDは2です。
https://サブドメイン.cybozu.com/k/#/space/1/thread/2
レコードを変更するユーザーが、そのスレッドにコメント投稿できる権限が必要です。
スレッドID 通知先に「スレッド」を選んだ場合に、必須です。
投稿先のスレッドIDを入力します。
アプリID 通知先に「アプリ」を選んだ場合に、必須です。
登録先アプリIDを入力します。
アプリAPIトークン 通知先に「アプリ」を選んだ場合に、必須です。
登録先アプリに設定したAPIトークンを入力します。
APIトークンの設定方法は、kintoneヘルプ:APIトークンを生成するを参照してください。
アクセス権に「レコード追加」を指定してください。
フリーテキスト 特定の文言を入力します。未指定でもOKです。
【通知先が「スレッド」「コメント」の場合】変更URLの前に付加されます。
【通知先が「アプリ」の場合】登録先アプリの「フリーテキスト」フィールドに登録されます。
宛先 宛先のタイプは、ユーザー・組織・グループから選択します。未指定でもOKです。
コードには、それぞれ宛先のコードを正しく入力します(大文字小文字も区別されます)。
各コードは、cybozu.comの画面で確認できます。ゲストユーザーを指定する場合は、”guest/ログインメールアドレス”を指定する必要があります。
※ゲストスペースで使用する場合は、組織・グループ(Administratos、Everyone以外)は使用できないため指定しないでください。スレッド・コメント投稿でエラーになります。

【通知先が「スレッド」「コメント」の場合】投稿に宛先が追加されます。存在しない宛先を指定している場合は、投稿時にエラーになります。
【通知先が「アプリ」の場合】アプリの「ユーザー」、「組織」、「グループ」フィールドに設定されます。存在しない宛先を指定している場合は、その宛先は無視されます。

変更検知フィールド 変更を検知したいフィールドを選びます。
テーブルフィールドを選択した場合、テーブル内フィールドの値の書き換え以外に、行追加削除でも変更と検知されます。

通知先アプリの設定

通知先にアプリを選択した場合は、下記フィールドを設置したアプリを作成してください。
フィールドがなかったり、フィールドの種類とフィールドコードが誤っていたりすると、登録出来ません。フィールド名は自由に設定してかまいません。

フィールドの種類 フィールドコード 記録する内容
ユーザー選択 MODIFIED_BY レコードの変更者
リンク
(Webサイトのアドレス)
HISTORY_URL レコードの変更履歴URL
文字列(1行) FREE_TEXT プラグイン設定画面で設定したフリーテキスト
ユーザー選択 USER_MENTIONS プラグイン設定画面で設定したユーザー。プラグイン設定しない場合は不要。
組織選択 ORGANIZATION_MENTIONS プラグイン設定画面で設定した組織。プラグイン設定しない場合は不要。
グループ選択 GROUP_MENTIONS プラグイン設定画面で設定したグループ。プラグイン設定しない場合は不要。

制限事項等

  • ライセンス有効状況確認のため、外部サーバーと通信を行います。
  • 同一アプリに他のJavaScriptカスタマイズやプラグインが設定されている場合、正しく動作しない可能性があります。正しく動作しない場合は、他のJavaScriptカスタマイズやプラグインを外してご利用ください。
  • 編集画面で編集し保存ボタンをクリックしたタイミングで動作しますので、他プラグインやカスタマイズでAPIで変更した場合や、CSVファイル読み込みで値を変更したレコード取り込みをした場合は、検知できません。
  • 変更履歴のURLはPC版でのみ動作します。モバイル版でリンクをクリックしても変更履歴のタブは開きません。
  • 運用開始後に追加したフィールドについては、見た目上何も変更していないにも関わらず、変更が検知される場合があります。例えば、テーブルを運用開始後に追加した場合、追加直後は、既存レコードはテーブルの行が無い状態です。その後、編集→保存をすると空行が自動で追加され、変更したものとみなされます。

プラグインダウンロード

利用規約に同意いただいたうえで、ダウンロード・ご利用ください。

警告メッセージが表示されますが、ライセンスキー無しでも無期限でトライアル可能ですので、お試しください。

Download changenotification.v4.0.plugin.zip – 107 KB

購入ご希望の場合はこちら

更新情報

日付 バージョン 内容
2019/04/18 1 初回リリース
2020/08/18 2 通知先がアプリの場合にセキュアアクセス環境で登録できなかった不具合を解消
2020/12/08 3 内部処理修正
2021/07/25 4.0 ・有償版に変更
・ログ機能の追加
・「プラグインの有効化」を削除
・差異比較時にsessionStorageを使用しないように修正
・ゲストスペースに対応
・通知先にコメント投稿を追加
・変更検知フィールドにテーブルフィールドを追加(テーブル全体の変更を検知)

※v3まではデータ比較時にsessionStorageを使用しています。データ保存先としては非推奨のため変更検知を行うフィールドの選択には注意してください。 参照:セキュアコーディングガイドライン(cybozu developer network)

ログ記載内容・想定されるエラー等

編集の保存成功後イベント編集画面の表示後イベント・インライン編集開始時イベントプラグイン設定保存イベント
【イベント】app.record.edit.submit.success, app.record.index.edit.submit.success
想定されるエラー ログ記録
・編集前レコードの情報が取得できない
・「スレッド」指定時に、変更したユーザーが権限のないスレッドが設定されている
・「スレッド」「コメント」指定時に、存在しないユーザー、組織、グループが指定されている
・「アプリ」指定時に、トークンが誤っている、またはトークンのアクセス権が誤っている
Error
・変更検知フィールドがない
※エラーにはならず、判定できるフィールドのみ変更検知します。
なし
【イベント】app.record.edit.show, app.record.index.edit.show
※編集前の状態をキープしています
想定されるエラー ログ記録
【イベント(プラグイン設定保存)】caryncolabo.plugin.config.submit
ログ内容 ログ記録
・設定内容がJSON形式で書き込まれます。 Information