はじめに
カスタマイズスペシャリストの勉強を兼ねて、JSカスタマイズした内容をプラグインにしてみました。掲載内容に問題ありましたら、連絡下さると助かります。
このプラグインは以下の情報を参考にして作成しています。
※この記事の続編として「足跡」機能を作ってみました。
概要
- kintone 追加画面において、登録した内容をSlackに通知するプラグインです。
- 設定画面で通知先、チャンネル、通知する内容の指定が行えます。
注意
・動作環境は、PCのみです。
・このプラグインは Incoming Webhook を利用しています。
※Slack-での-Incoming-Webhook-の利用方法の参考URL
・動作保証や技術サポートはありません。自己責任でご利用ください。
Ver.2 の変更点
・Slack通知切替機能を追加
Ver.3 の変更点
・通知タイトルにフィールドを指定する機能を追加
Ver.3.1 の変更点
・「タイトル」(固定)を指定したフィールド名に変更
・カレンダー形式に対応する為、タイトルのフィールド指定に日付、日時を追加
・Slack通知切替有効時に「slack」フィールドが無いのに通知される問題を修正
・登録時のタイトルがフィールドコードになるバグを修正(2023/01/19)
Ver.4 の変更点
・フィールド値変更通知機能を追加
Ver.5 の変更点
・日時フォーマットを変更(Luxon利用に変更)
・本文追加、フィールド指定に文字列(1行)/(複数行)を選択可
・タイトル、本文を省略可
使い方
設定1
システム管理者で slack_sample_plugin.zip をプラグインとして読み込んで下さい。
Slack通知したいアプリに本プラグインを追加してください。
プラグインの追加方法はこちらを参考にしてください。
設定2
プラグインの設定画面を開き、各項目に値を入力して下さい。
設定を保存して、アプリ更新を忘れずに行って下さい。
設定内容
・通知名
・Slackのワークスペースで発行したIncoming Webhook URL
※Slack-での-Incoming-Webhook-の利用方法の参考URL
・通知させたいチャンネル名(# 不要)
動作確認
アプリにレコードを新規登録して下さい。
Slackのワークスペースのチャンネルに設定した内容で通知が行われます。
通知内容
・通知名
・投稿者(レコードの登録者)
・詳細(レコードのURL)
Ver.2
Slack通知切替ボタンを有効化するとラジオボタンの「slack」フィールドがONの時だけSlack通知を行います。
注意
・Slack通知切替有効化時に「slack」フィールドが存在しない場合は通知が行われません。
Ver.3
アプリ設定で追加したフィールドをSlack通知のタイトルとして指定できます。
※Ver.3では文字列1行フィールドのみタイトルに指定できます。
通知内容
・通知名
・タイトル(選択した文字列1行フィールド)
・投稿者(レコードの登録者)
・詳細(レコードのURL)
Ver.3.1
カレンダー形式に対応する為、タイトルに日付と日時フィールドも指定可能になりました。
上記対応に合わせて、通知の「タイトル」(固定)を指定したフィールド名に変更しました。
通知内容
・通知名
・指定したフィールド名:フィールドの値
・投稿者(レコードの登録者)
・詳細(レコードのURL)
Ver.4
レコード編集画面でフィールド値が変更された時に通知が届きます。
通知の対象となるフィールドは app.record.edit.change で指定可能なフィールドとなります。
通知内容
・フィールド値の変更がありました。(固定)
・フィールド名(更新されたフィールド名)
・変更者(レコードの変更者)
・詳細(レコードのURL)
通知の対象となるフィールド
(app.record.edit.change で指定可能なフィールド)
・ラジオボタン
・ドロップダウン
・チェックボックス
・複数選択
・ユーザー選択
・組織選択
・グループ選択
・日付
・時刻
・日時
・文字列(1行)
・数値
・テーブル(テーブルの行追加、行削除ボタンがクリックされたタイミング)
Ver.5
kintoneライセンスが無いユーザーも通知の詳細が知りたいとの要望があり本文を追加しました。
本文にはフィールド指定に文字列(1行)/(複数行)を選択可能です。
タイトル、本文を未設定にすることでSlack通知時に表示させない事も可能になりました。
無料ダウンロード
ダウンロードしたZipファイルは解凍せず、そのままkintoneへインストールして下さい。
slack_sample_plugin.zip
利用ライブラリ
- kintone-config-helper - MIT License
- 51-modern-default.css - MIT License
- bootstrap.min.css - MIT License
- Cybozu CDN