Configurez le cadre de travail de notification d’événement du producteur pour utiliser le bus de messages ouverts

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Si vous avez déployé ou prévoyez de déployer le bus de messages ouverts dans votre instance, vous devez configurer le cadre de travail de notification d’événements du créateur pour ce bus de messages. Vous pouvez déployer ce bus de messages pour les instances dans le cloud et sur site.

    Avant de commencer

    Rôle requis : administrateur

    Pour plus d’informations sur la publication de messages à l’aide du bus de messages ouvert, reportez-vous à la section Producing outbound API notifications using the open message bus.

    Procédure

    1. Synchronisez les rubriques de votre bus de messages actuel avec votre ServiceNow instance.

      Pour en savoir plus sur la synchronisation des rubriques, reportez-vous à la section Producing outbound API notifications using the open message bus.

    2. Personnalisez la OpenMessageBusEventPublisherOOB : publishMessageToComptibleRestProxy(Object tmfEventPayload, Array compatibleTopicArr) méthode pour envoyer des messages directement à une action REST préconfigurée.
      Cette méthode est responsable de l’envoi d’un message au proxy REST de la plateforme de messagerie personnalisée à l’aide du sélecteur de spoke. La plate-forme de messages personnalisés est votre bus de messages par lequel les messages sont publiés.
      L’exemple de code suivant montre comment personnaliser cette méthode pour utiliser un flux de sélecteur de spoke et une action personnalisée au lieu d’un sélecteur de spoke.
      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. Configurez le proxy REST pour les rubriques.
      Une fois le spoke configuré, les messages sont publiés dans le proxy REST spécifié pour les rubriques configurées dans le spoke.
      1. Accédez à la Tout > Sélecteur de spoke > Type de demande
      2. Sélectionnez la demande sortante de proxy REST de rubrique.
      3. Sélectionnez l’onglet Définitions de demandes d’intégration.
      4. Créez une entrée de définition de demande d’intégration pour configurer le spoke.
        Vous pouvez également vous référer à l’entrée Définition de réponse de proxy REST de démonstration pour obtenir des conseils supplémentaires.