Kentico CloudのWebhookサポートは、開発者がアプリケーション内で使用するための優れたツールです。この機能を構成することにより、プロセスを簡単に自動化し、カスタムコードを簡素化できます。 Webhookは、外部システムを更新し、データの整合性を確保し、コンテンツの変更に応じてすべてのシステム(およびユーザー)の同期を維持できます。この新機能を使用して、コンテンツが公開されたときにチームのSlackチャネルを更新する方法を紹介します。
注:この記事は廃止されました。更新されたバージョンはここにあります。
統合により、すべての人の生活が楽になります。開発者からマーケターまで、誰もが日常業務の小さな自動化から利益を得ることができます。最近、KenticoCloudでのWebhookサポートを発表しました。この新機能により、コンテンツの更新をビジネスのあらゆる側面に統合できます。これは、コンテンツの変更に関しては、暗闇の中で座っている時間が減り、マインスイーパをプレイする時間が増えることを意味します(ah、1996…)。
チームを最新の状態に保つことの大きな部分はコミュニケーションです。ますます多くの企業が、チームメンバーに更新、会議出席依頼、および休憩室にケーキがあることを通知するためにインスタントメッセージングに依存しています。 Slackは最も人気のあるクライアントの1つであるため、チームのコミュニケーションプラットフォームでKenticoCloudのWebhookサポートを活用する方法を紹介したいと思います。 Kentico EMSについても同様の記事を公開しましたが、これについては何度か参照します。
方法をお見せしましょう…
プロセスの定義
プロセスの最初のステップは、統合がどのように見えるかを定義することです。会社やプロジェクトはそれぞれ異なるため、システムを接続する方法はすべて要件によって異なります。私の場合、Kentico Cloudコンテンツアイテムが公開および非公開のときに、チャネルにメッセージを投稿したかっただけです。このプロセスは、私のマーケティング担当者が新しいコンテンツの最新情報を入手するのに役立ちます。これは、プロジェクト内でコンテンツを作成および公開している外部の編集者が複数いる場合に特に役立ちます。
これが私の機能のワークフローです。
Webhookの作成
ワークフローを定義したら、統合を作成する準備が整いました。 Webhookを使用すると、コンテンツが更新されたときにKenticoCloudが呼び出すことができる関数が必要でした。これは、MVCアプリケーション内のルート/関数、Amazon Lambda関数、または(私の場合はそうなる傾向がありますが)Azure関数である可能性があります。 Azure Functionsにはこのニーズに固有の構成があるため、私のソリューションに適していました。
Azure Functionsで、新しいGenericWebhook関数を作成しました。
構成については、単純なHTTPサポートのみが必要だったため、デフォルトのままにしました。
また、GenericJSONタイプを選択したままにすることも選択しました。 Azure Functionsは、 Slack固有の関数のサポートを提供します。これにより、呼び出しが簡素化されます。以前の記事の統合コードを利用していたため、代わりに汎用呼び出しを使用することにしました。
Azure Function Slack Webhookのサポートについて詳しくは、 こちらをご覧ください。
KenticoCloudの構成
プロセスの次のステップは、KenticoCloud内でWebhookを構成することでした。私のプロジェクトでは、Azure関数のURLを使用して新しいWebhookを作成しました。
シークレット値はプロセスの後半で使用されることに注意してください。
Kenticoクラウド統合の追加
関数が作成されたら、コードを追加する準備ができました。私は他のブログでプロセスを数回文書化したので、ここに私がしたことの概要があります。
- project.jsonを作成しました
- KenticoCloud.DeliveryAPIへの参照を追加しました
- run.csxにKCプロジェクトID /プレビューAPIキーを追加しました
基本機能が整ったので、Slack統合を移植する準備ができました。 Azure Functionsは追加のファイルをサポートしているため、既存のSlackコードファイルをアップロードし、拡張子を.csxに変更しました。これらは、以前のSlack統合で使用したファイルです。
ペイロード.csx
このファイルはSlackメッセージのモデルです。
slackclient.csx
このファイルには、Slackにメッセージを投稿するための投稿機能が含まれています。
Slackファイルを配置したら、関数を更新する準備ができました。まず、Kentico Cloudのシークレット値を使用して、通話を検証するコードを追加しました。
通話が検証されたら、更新されたすべてのアイテムと更新のステータスのリストを作成しました。
次のステップは、アップデートをSlackに投稿することでした。これを行うために、更新された各アイテムをループし、Kentico Cloudから詳細を取得して、指定されたSlackチャネルにメッセージを投稿しました。
テスト
構成と機能が整ったので、テストする準備ができました。 Kentico Cloudを開いて、コンテンツアイテムを更新しました。まず、新しいコンテンツアイテムを公開しました。
次に、メッセージがSlackチャネルに投稿されたことを確認しました。
次に、アイテムを非公開にしました。
最後に、新しいメッセージが正しく投稿されたことを確認しました。
前進する
このブログでは、会社のSlackチャネルをコンテンツ管理プロセスに簡単に統合できることを紹介しました。この機能は、更新をリアルタイムで配信することにより、チームの生産性を高めるのに役立ちます。これにより、問題をより早く通知し、カスタム開発を削減できます。それがあなたがいくつかの素晴らしい解決策を作り、あなたのチームがスムーズに働くのを助けることを願っています。さて、休憩室のあのケーキについて…。
コードを取得する