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

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

    始める前に

    必要なロール:admin

    オープン メッセージバス を使用したメッセージの公開の詳細については、「 Outbound trouble ticket notifications via open message bus」を参照してください。

    手順

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

      トピックの同期の詳細については、「 Outbound trouble ticket notifications via open message bus」を参照してください。

    2. 事前設定された REST アクションにメッセージを直接送信するように OpenMessageBusEventPublisherOOB - publishMessageToComptibleRestProxy(Object tmfEventPayload, Array 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. スポークを構成するための統合要求定義エントリを作成します。
        追加のガイダンスについては、 Demo Rest プロキシ応答定義 エントリーも参照できます。