3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LINE WORKSAdvent Calendar 2024

Day 23

【kintone】LineWorksルーム通知プラグイン(Incomming Webhook)を作りました!

Posted at

こちらはLINEWORKSアドベントカレンダー2024参加の記事です!

みなさんはIncomming Webhookアプリ、もう試しましたか?
Incomming Webhookはトークルームへ簡単に通知を送ることができるURLを発行できるサービスです。
定型のPOSTメッセージを送るだけで、通知が発行できちゃいます!

ぼくはこの機能を利用して、kintoneからトークルームへ通知できるプラグインを作成してみました。

LineWorksルーム通知プラグイン

プラグインはこちらからダウンロードできます。(無料で配布してます)
セットアップ方法も解説しています。

ぜひ試してみてください!

LWTTで教えてもらいました

11月に名古屋で開催されたLWTT(LineWorks Tech Talk)で、IncommingWebhookを教えていただきました。これがkintoneの機能にぴったりだったので、kintoneのプラグインを作ろうと思い立ちました。

やろうと思ってもきっかけがないとできないと思ったので、アドベントカレンダーにも登録させていただきました。ちゃんと発表できてよかったです。

Incomming Webhookは素晴らしいです。それまで、LineWorksとの連携はOAuthによる連携が必須だったので、サーバーが必ず必要でした。Incomming WebhookはURLへのPOSTのみで成立させられるので、とても手軽に連携ができました。

プラグインの機能の裏技

ここからはLineWorksルーム通知プラグインでできる機能をご紹介します。

スクリーンショット 2024-11-23 145710.png

メッセージ内容を見てください。
こちらはテンプレートエンジンに Handlebars を利用していますので、Handlebarsでの記法をそのまま利用できるようになっています。

「kintoneのデータが更新されました!」といったメッセージのみでも十分有用だと思いますが、kintoneのレコードデータを利用することで、詳しいメッセージになったり、メンションに利用したりといったことができます。

レコードデータの利用

{{更新者.value.name}}

👆はkintoneレコードの更新者の名前を取得しています。

{{文字列一行.value}}

👆は文字列一行のレコードデータを利用した記法です。

組み込み関数の利用

{{now "HH:mm"}}

👆は現在日時の時間と分を表示しています。

{{date 更新日時.value "HH:mm"}}

👆はkintoneレコード内の【更新日時】フィールドのデータから時間と分を表示しています。

now, dateはHandlebarsにはない、LineWorksルーム通知プラグイン専用の組み込み関数として用意しています。

Handlebarsに組み込まれたeachなどの関数を利用することで、サブテーブルの展開などができます。

メンション

LineWorksへのメンションは

<m userId="{userId}">

の形式であれば、メッセージ内容に組み込まれていればできます。

なので、【メンション】の項目にIDを設定しなくても、kintone上にデータがあればテンプレート機能でメンションを動的に生成できます。

{{#if メンション.value}}
<m userId={{メンション.value}}>
{{/if}}

👆はメンションという文字列フィールドに値が入っていれば、メンションするというテンプレートです。

まとめ

今回はIncomming Webhookを利用したkintoneプラグインを作ってみました。

LineWorks-kintone連携は実はたくさんのサービスがあります。
ただ、IncommingWebhookを利用すれば、限定された用途なら、もっと手軽に開発ができてしまいます。
簡単な通知であればトライしてみてはいかがでしょうか?

プラグインの開発、とっても楽しかったです😊


この記事は以上です。ありがとうございました。

kintoneのプラグイン開発や研修などを行っています。
お仕事のお話はこちらまで。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?