Integrar com conectores de push

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 3 min. de leitura
  • Integre com um conector de push para se conectar a uma origem de evento externa. Os conectores por push processam as mensagens de evento coletadas e as transformam no formato de evento necessário.

    Antes de Iniciar

    Certifique-se de que Gestão de eventos O plug-in Connectors (sn_em_connector) está instalado.

    Função necessária: evt_mgmt_admin

    Nota:
    Se você estiver atualizando um ServiceNow AI Platform instância de Paris ou anterior, você pode usar scripts de transformação de ouvinte legados. Consulte Use scripts de transformação de ouvinte legados para obter mais informações.

    Por Que e Quando Desempenhar Esta Tarefa

    Os conectores por push aceitam mensagens de evento geradas por origens de evento externas.

    Configure um conector para ouvir uma origem de evento externa. Usando um conector de push personalizado, envie as mensagens de evento por meio de MID Server ou a instância.

    Nota:
    Você pode usar esta URL de destino JSON genérica para coletar eventos: <INSTANCE>/sn_em_connector/em/inbound_event?source . Este URL pode ser usado no estado em que se encontra e requer que uma regra de evento seja configurada.

    Procedimento

    1. Navegar até Tudo > Gestão de eventos > Integrações > Conectores de push.
    2. Clique em Novo ou clique no conector de push que você deseja modificar, por exemplo, AWS Ou Azure.
    3. No formulário, preencha os campos.
      Campo Descrição
      Nome U nome nique para este conector de pressão para facilitar a identificação.
      Descrição Insira uma descrição para o uso do conector de push.
      Nome do cabeçalho Especifique o nome do cabeçalho para o qual você deseja o valor, como Set-Header.
      Valor de cabeçalho O valor do nome do cabeçalho para o qual você deseja o valor, como Set-Header.
      Tipo Selecione para enviar eventos Instância ou MID . Em cada caso, use o URL do tipo selecionado. Consulte a descrição do Valor do parâmetro de URL campo.
      Ativo Selecione para habilitar a extração de eventos desta origem de evento externo.
      Ordem Ordem na qual uma regra de evento é avaliada quando várias regras são definidas para o mesmo tipo de evento. As regras de evento são avaliadas em ordem crescente.
      Valor de parâmetro de URL
      • Envie eventos para a instância.

        Use a URL neste formato para todos os conectores: <INSTANCE>/sn_em_connector/em/inbound_event?source: URL_parameter_value]

      • Enviar eventos por meio do MID Server.

        Use o URL no formato: http://{MID_Server_IP}:{MID_Web_Server_Port}/api/mid/em/inbound_event?Transform={Transform_script}

        Nota:
        Enviando eventos para MID Server Requer a configuração anterior da extensão Ouvinte de eventos do MID WebService.
    4. Na seção Script:
      • Se o valor selecionado para Tipo o campo é MID . Script de transformação o campo é exibido. Neste campo, especifique ou pesquise o nome da inclusão de script DO MID que aceita mensagens de evento que a origem de evento externa necessária gera e que o script analisa no formato de evento necessário. Use esta convenção de nomenclatura para o script: TransformEvents_<your source>
      • Se o valor selecionado para Tipo o campo é Instância . Script o editor é exibido. Em Script editor, insira o script personalizado que aceita mensagens de evento que a origem de evento externo necessária gera e que o script analisa no formato de evento necessário.
      Este exemplo mostra os campos que foram transformados, sendo adicionados a um formulário de evento.
      (function process(/*RESTAPIRequest*/ request, body) {
      	/*Function that receives a JSON object, adding all its fields to the Additional information object. The field name is a concatenation of the field key and the parent field key if it exists.*/
      	function updateAdditionalInfo(event, field,jsonObject,additionalInfo) {
              for (var key in jsonObject) {
                  var newKey = key;
                  if (field != "") {
                      newKey = field + '_' + key;
                  }
      			// You can do some transformation here and set fields on the event
      			//if(key == "MySource")
      			//   event.source = jsonObject[key];
                  additionalInfo[newKey] = jsonObject[key];
              }
          }
          
          try
      	{		
              gs.info("TransformEvents_generic received body:" + body);
      		var jsonObject = JSON.parse(body);
              var event = new GlideRecord('em_event');
      		event.source = "GenericJson"; //TODO: Need to define
              event.event_class = "GenericJsonClass"; //TODO: Need to define
              event.severity = "5";
      		
              var additionalInfo = {};
              updateAdditionalInfo(event, "",jsonObject,additionalInfo);
      		/*Iterates over Additional information JSON object and adds all nested objects' fields as fields of the Additional information object*/
              var notDone = true;
              while (notDone) {
                  notDone = false;
                  for (var key in additionalInfo) {
                      if (Object.prototype.toString.call(additionalInfo[key]) == '[object Object]') {
                          notDone = true;
                          updateAdditionalInfo(event, key,additionalInfo[key],additionalInfo);
      					additionalInfo[key] = "";
                      }
                  }
              }
      		gs.info("TransformEvents_generic generated additional information:" + JSON.stringify(additionalInfo));
              event.additional_info = JSON.stringify(additionalInfo);
              event.insert();
      	}
      	catch(er){
      		gs.error(er);
      		status=500;
      		return er;
      	}
      	return "success";
      })(request, body);