はじめに
kintoneのじぶんページプラグインでは、レコードのステータス変更を通知する機能が標準では提供されていません。
この記事では、ステータス変更時に自動でコメントを追加することで、じぶんページへの通知を実現するJavaScriptコードを紹介します。
背景
kintoneのじぶんページプラグインでは、以下の2つの場合のみ通知が送られます:
- 新規レコードが作成された時
- コメントが投稿された時
しかし、業務上、ステータスの変更も重要なイベントとして通知したいケースが多々あります。
例えば:
- 申請が承認された時
- タスクが完了した時
- 案件がクローズされた時
解決方法
この問題を解決するために、ステータスが変更された時に自動的にコメントを追加するJavaScriptコードを開発しました。
これにより、じぶんページプラグインの標準機能を活用しながら、ステータス変更の通知を実現できます。
プラグインの特徴
- ステータス変更時の自動コメント投稿
- じぶんページ通知との連携
- シンプルな設定
- エラーハンドリング機能
- ドキュメント化されたクリーンなコード
使い方
1. インストール
-
GitHubリポジトリから
status-change-comment.js
をダウンロード - kintoneの設定画面で、「JavaScript / CSSのカスタマイズ」を開く
- JSファイルをアップロード
- 保存
JavaScript/CSSカスタマイズ画面でJavaScriptファイルをアップロード
2. 動作確認
デフォルトでは以下のステータス変更を検知します:
- "accepted"を含むステータスに変更 → "The status has changed to 'Accepted'"というコメントが追加
- "closed"を含むステータスに変更 → "The status has changed to 'Closed'"というコメントが追加
ステータスが変更されると自動的にコメントが追加され、じぶんページに通知される
3. カスタマイズ
監視するステータスとコメントの内容は、コード内のSTATUS_CONDITIONS
オブジェクトで管理しています:
const STATUS_CONDITIONS = {
ACCEPTED: {
condition: 'To Accepted',
toStatusContains: 'accepted',
commentText: 'The status has changed to "Accepted".'
},
CLOSED: {
condition: 'To Closed',
toStatusContains: 'closed',
commentText: 'The status has changed to "Closed".'
}
};
新しいステータス条件を追加する場合は、このオブジェクトに設定を追加するだけです。
技術的な詳細
使用している技術
- 言語: JavaScript
- kintone API バージョン: v1
- イベント:
app.record.detail.process.proceed
エラーハンドリング
- コンソールにログを出力
- エラー発生時のメッセージ表示
- 一部のコメント投稿が失敗しても継続して動作
コードの特徴
- モジュラーな設計
- 詳細なJSDocコメント
- 設定の一元管理
- Promise.allによる効率的な非同期処理
今後の展望
現在検討している機能拡張:
- コメントテンプレートのカスタマイズ機能
- 通知先ユーザーの制御機能
- 複数のステータス条件のグループ化
まとめ
このJavaScriptコードを使用することで、kintoneのじぶんページプラグインの制限を克服し、ステータス変更の通知を実現できます。
シンプルな実装ながら、実用的な機能を提供しています。
参考リンク
環境
- kintone
- JavaScript
- じぶんページプラグイン