人々が自宅で仕事をしているこのような困難な時期に、チームのすべてのメンバーにすべてのニュースを最新の状態に保つことが難しくなっています。人々は電子メールに圧倒され、多くの重要なメッセージが見過ごされて消えてしまう可能性があります。 Slackを使用して、Kontentで公開されたニュースを自動的に投稿した場合はどうなりますか?
この記事では、コンテンツアイテムが公開されたら、Webhookを使用してSlackメッセージを自動的に投稿する方法を紹介します。
チームを最新の状態に保つことの大きな部分はコミュニケーションです。ますます多くの企業が、チームメンバーに更新、会議出席依頼、および休憩室にケーキがあることを通知するためにインスタントメッセージングに依存しています。 Slackは最も人気のあるクライアントの1つであるため、チームのコミュニケーションプラットフォームでKontentのWebhookサポートを活用する方法を紹介したいと思います。
プロセスの定義
プロセスの最初のステップは、統合がどのように見えるかを定義することです。会社やプロジェクトはそれぞれ異なるため、システムを接続する方法はすべて要件によって異なります。私の場合、コンテンツアイテムが公開されたときに、チャンネルにメッセージを投稿したいと思いました。このプロセスは、私のマーケティング担当者が新しいコンテンツの最新情報を入手するのに役立ちます。これは、プロジェクト内でコンテンツを作成および公開している外部の編集者が複数いる場合に特に役立ちます。これが私の機能のワークフローです。
Webhookの作成
ワークフローを定義したら、統合を作成する準備が整いました。 Webhookを使用する場合、コンテンツが更新されたときにKontentが呼び出すことができるサーバーレス関数が必要でした。これは、MVCアプリケーション内のルート/関数、Amazon Lambda関数、Azure関数、または別のプロバイダーの同様の関数である可能性があります。 Azure Functionsにはこのニーズに固有の構成があるため、私のソリューションに適していました。
AzureFunctionsへの統合がどのように機能するかを段階的に見ていきましょう。まず、新しいHttpトリガー関数を作成する必要があります。
構成については、デフォルトのままにします。 Azure Functionsの[>関数のURLを取得]リンクをクリックすると、関数のパブリックURLアドレスを確認できます。まもなく必要になります。
KenticoKontentの構成
次のステップは、KenticoKontent内でWebhookを構成することです。プロジェクト設定に移動し、新しいWebhookを作成します。 「配信APIトリガー」セクションで「公開」を選択します。
プロセスの後半でSecret値が必要になることに注意してください。
SlackWebhookの作成
Slackチャネルで、AzureFunctionからのメッセージを投稿するための着信Webhookアプリを追加します。
作成したら、「統合設定」メニューでWebhookURLを見つけることができます。
Kontent統合の追加
すべての設定が完了したら、Azure関数にコードを追加する準備が整いました。まず、いくつかのファイルを作成する必要があります。これを行うには、ファイルビューアを展開します。
次のファイルを追加します。
- function.proj
- slackClient.csx
function.projで、Kentico.Kontent.Deliveryへの参照を追加する必要があります。
このslackClient.csxは、メッセージを送信するためにSlackにPOSTリクエストを実行する単純なクラスです。
これらのファイルを配置すると、 run.csxファイルの関数のコードを更新できます。まず、関数の残りの部分に必要ないくつかの使用法とその他のコードを追加します。
slackChannel変数に前のセクションのURLを入力します。以前のWebhookシークレットを追加してから、Kontentの[プロジェクト設定]> [APIキー]ページからプロジェクトIDとプレビューAPIキーを追加します。
今度はメインコードです! Run
メソッドでは、最初にWebhookの本体を取得し、署名を検証する必要があります。
署名が有効な場合は、JSONを使用して本文を解析し、公開操作であることを確認できます。 Webhook通知は実際には単なる通知であり、実際のアイテムデータは含まれず、コードネームのみが含まれます。したがって、コンテンツアイテムのコードネームでデータをロードPostToSlack
PostToSlack
メソッドを作成する必要があります。 SlackClient
が使用され、コードネームがループされ、更新されたコンテンツアイテムごとにSlackにメッセージが投稿されます。
Slackメッセージには、ここに「コンテンツの更新:{アイテム名}」が表示されます。実際のコンテンツタイプに基づいて自由に調整し、より価値のある情報を出力してください。
テスト
すべてが整ったので、テストする準備が整いました。 Kentico Kontentを開き、コンテンツアイテムを公開します。
次に、メッセージがSlackチャネルに投稿されたことを確認します。
よくやった!これで、チームが何が起こっているかを常に最新の状態に保つことが容易になります。
前進する
この記事では、会社のSlackチャネルをコンテンツ管理プロセスに統合する方法を紹介しました。この機能は、更新をリアルタイムで配信し、問題をより早く通知することで、チームの生産性を高めるのに役立ちます。あなたとあなたのチームがこのホームオフィス期間をスムーズに乗り越えるのに役立つことを願っています。ここで完全なソースコードを見つけてください: