Konfigurieren Sie das Framework für Benachrichtigungen über Produzenten-Ereignisse für die Verwendung des offenen Nachrichtenbusses

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • Wenn Sie den Open Message Bus in Ihrer Instanz bereitgestellt haben oder bereitstellen möchten, müssen Sie das Framework für Ersteller-Ereignisbenachrichtigungen für diesen Nachrichtenbus konfigurieren. Sie können diesen Nachrichtenbus sowohl für Cloud- als auch für lokale Instanzen bereitstellen.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Weitere Informationen zum Veröffentlichen von Nachrichten mit dem offenen Nachrichtenbusfinden Sie unter Producing outbound API notifications using the open message bus.

    Prozedur

    1. Synchronisieren Sie die Themen in Ihrem aktuellen Nachrichtenbus mit Ihrer Instanz ServiceNow.

      Weitere Informationen zum Synchronisieren von Themen finden Sie unter Producing outbound API notifications using the open message bus.

    2. Passen Sie die Methode OpenMessageBusEventPublisherOOB -publishMessageToComptibleRestProxy(Object tmfEventPayload, Array kompatibelTopicArr) an, um Nachrichten direkt an eine vorkonfigurierte REST-Aktion zu senden.
      Diese Methode ist für das Senden einer Nachricht an den REST-Proxy der anwenderdefinierten Nachrichtenplattform mithilfe der Spoke-Auswahl verantwortlich. Die anwenderdefinierte Nachrichtenplattform ist Ihr Nachrichten-Bus, über den Nachrichten veröffentlicht werden.
      Das folgende Codebeispiel zeigt, wie Sie diese Methode anpassen, um anstelle einer Spoke-Auswahl einen Spoke-Auswahl-Flow und eine anwenderdefinierte Aktion zu verwenden.
      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. Konfigurieren Sie den REST-Proxy für die -Themen.
      Nachdem die Spoke konfiguriert wurde, werden Nachrichten im angegebenen REST-Proxy für in der Spoke konfigurierte Themen veröffentlicht.
      1. Navigieren zu Alle > Spoke-Auswahl > Anforderungstyp
      2. Wählen Sie Ausgehende Anforderung des Themen-REST-Proxy aus.
      3. Wählen Sie die Registerkarte Definitionen der Integrationsanforderungaus.
      4. Erstellen Sie einen Definitionseintrag für die Integrationsanforderung, um die Spoke zu konfigurieren.
        Zusätzliche Anleitungen finden Sie auch im Eintrag für Demo-REST-Proxy-Antwortdefinition.