Open Message Bus を使用するためのプロデューサーイベント通知フレームワークの構成

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む4読むのに数分
  • インスタンスに Open Message Bus を展開した場合、または展開する予定がある場合は、このメッセージバス用にプロデューサーイベント通知フレームワークを構成する必要があります。このメッセージ バスは、クラウド インスタンスとオンプレミス インスタンスの両方にデプロイできます。

    始める前に

    必要なロール:管理者

    オープン ・メッセージ・バスを使用したメッセージのパブリッシングの詳細については、を参照してください Producing outbound trouble ticket notifications using the open message bus

    手順

    1. 現在のメッセージバス内のトピックをインスタンスと同期します ServiceNow

      トピックの同期の詳細については、を参照してください Producing outbound trouble ticket notifications using the open message bus

    2. 事前設定された REST アクションにメッセージを直接送信するようにメソッドをカスタマイズし OpenMessageBusEventPublisherOOB - publishMessageToComptibleRestProxy(オブジェクト tmfEventPayload, アレイ compatibleTopicArr) ます。
      このメソッドは、スポークセレクターを使用してカスタムメッセージプラットフォームの REST プロキシにメッセージを送信します。カスタムメッセージプラットフォームは、メッセージが公開されるメッセージバスです。
      次のコード例は、このメソッドをカスタマイズして、スポークセレクターの代わりにスポークセレクターフローとカスタムアクションを使用する方法を示しています。
      publishMessageToComptibleRestProxy: function(tmfEventPayload, compatibleTopicArr) {
      
        if (gs.nil(tmfEventPayload) || gs.nil(compatibleTopicArr)) {
          return;
        }
        for (var i = 0; i < compatibleTopicArr.length; i++) {
      
          // Invoking spoke selector flow which will in turn pick the rest proxy based on the input condition
          var topicGr = new GlideRecord(Constants.TABLE_TOPIC);
          topicGr.get(compatibleTopicArr[i]);
          if (!topicGr.isValidRecord()) {
            this._logger.debug("Invalid topic sys_id passed to open message publisher. Sys_id passed is " + compatibleTopicArr[i]);
            return;
          }
      
          // NOTE THAT IN THIS IMPLEMENTATION INVOKES A CUSTOM ACTION INSTEAD OF SPOKE SELECTOR
          var restProxyResponse = new sn_appss.RequestAPI(spokeSelectorRequestTypeId, spokeSelectorRequestTypeInputMap, spokeSelectorRequestTypeContextObject).execute();
      
          // var restProxyResponse = sn_fd.FlowAPI.executeActionQuick('sn_api_notif_mgmt.demo_topic_rest_proxy_response', spokeSelectorRequestTypeInputMap);
          var responseCode = restProxyResponse.response.code;
          if (Constants.REGISTRATION_RESPONSE_SUCCESS_CODES.indexOf(responseCode) == -1) {
            this._logger.logErr("Publishing message to Message bus rest proxy failed with HTTP response code " + responseCode);
          }
        }
      },
    3. トピックの REST プロキシを構成します。
      スポークが構成されると、スポークで構成されたトピックに対して、指定された REST プロキシでメッセージが公開されます。
      1. 移動先 すべて > スポークセレクター > 要求タイプ
      2. [ トピック REST プロキシ送信要求] を選択します。
      3. [ 統合要求定義] タブを選択します。
      4. 統合要求定義エントリを作成して、スポークを構成します。
        追加のガイダンスについては、「 デモ REST プロキシ応答定義 」エントリを参照することもできます。