ServiceNow

Il connettore ServiceNow consente di eseguire operazioni di inserimento, eliminazione, aggiornamento e lettura sul database ServiceNow.

Prima di iniziare

Prima di utilizzare il connettore Servicenow, esegui le seguenti attività:

  • Nel tuo progetto Google Cloud:
    • Concedi il ruolo IAM roles/connectors.admin all'utente che configura il connettore.
    • Concedi i seguenti ruoli IAM all'account di servizio che vuoi utilizzare per il connettore:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Un account di servizio è un tipo speciale di Account Google destinato a rappresentare un utente "non umano" che deve autenticarsi ed essere autorizzato ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per saperne di più, consulta la pagina sulla creazione di un account di servizio.

    • Abilita i seguenti servizi:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Per informazioni su come abilitare i servizi, vedi Abilitazione dei servizi.

    Se questi servizi o queste autorizzazioni non sono stati abilitati per il tuo progetto in precedenza, ti verrà chiesto di abilitarli durante la configurazione del connettore.

  • Fornisci l'accesso alle seguenti tabelle nella tua istanza ServiceNow:

    • sys_db_object
    • sys_dictionary
    • sys_glide_object

    Questa autorizzazione è necessaria per consentire al connettore di connettersi ai tuoi dati. Per fornire l'accesso, segui questi passaggi:

    1. Nell'applicazione ServiceNow, vai a Sicurezza del sistema > Controlli di accesso (ACL).
    2. Seleziona Nuovo per creare un oggetto di controllo dell'accesso.
    3. In Tipo, seleziona record.
    4. In Operazione, seleziona lettura.
    5. Per Nome, seleziona Tabella [sys_db_object] nel primo menu a discesa e --None-- nel secondo menu a discesa.
    6. Nella sezione Richiede ruolo, fai doppio clic sulla casella di testo Inserisci una nuova riga..., quindi cerca e seleziona il ruolo desiderato.
    7. Fai clic su Invia per creare l'oggetto ACL.
    8. Assegna all'utente che esegue l'autenticazione il ruolo con l'ACL creato. A questo scopo, vai a Amministrazione utenti > Utenti > Seleziona utente che esegue l'autenticazione > Ruoli > Modifica... . poi aggiungi il tuo ruolo dalla raccolta.

Configura il connettore

Per configurare il connettore è necessario creare una connessione all'origine dati (sistema di backend). Una connessione è specifica per un'origine dati. Ciò significa che se disponi di molte origini dati, devi creare una connessione separata per ciascuna. Per creare una connessione, segui questi passaggi:

  1. Nella console Cloud, vai alla pagina Connettori di integrazione > Connessioni, quindi seleziona o crea un progetto Google Cloud.

    Vai alla pagina Connessioni

  2. Fai clic su + CREA NUOVO per aprire la pagina Crea connessione.
  3. Nella sezione Posizione, scegli la località per la connessione.
    1. Regione: seleziona una località dall'elenco a discesa.

      Per l'elenco di tutte le regioni supportate, vedi Località.

    2. Fai clic su AVANTI.
  4. Nella sezione Dettagli connessione, completa quanto segue:
    1. Connettore: seleziona Servicenow dall'elenco a discesa dei connettori disponibili.
    2. Versione connettore: seleziona la versione del connettore dall'elenco a discesa delle versioni disponibili.
    3. Nel campo Nome connessione, inserisci un nome per l'istanza di connessione.

      I nomi delle connessioni devono soddisfare i seguenti criteri:

      • I nomi delle connessioni possono contenere lettere, numeri o trattini.
      • Le lettere devono essere minuscole.
      • I nomi delle connessioni devono iniziare con una lettera e terminare con una lettera o un numero.
      • I nomi delle connessioni non possono superare i 63 caratteri.
    4. (Facoltativo) Inserisci una descrizione per l'istanza di connessione.
    5. Account di servizio: seleziona un account di servizio con i ruoli richiesti.
    6. Per utilizzare la connessione per le sottoscrizioni agli eventi, seleziona Abilita sottoscrizione agli eventi. Se selezioni questa opzione, vengono visualizzate le seguenti opzioni:
      • Abilita la sottoscrizione agli eventi con entità e azioni: seleziona questa opzione per utilizzare la connessione sia per la sottoscrizione agli eventi sia per le operazioni del connettore (entità e azioni).
      • Abilita solo la sottoscrizione all'evento: seleziona questa opzione per utilizzare la connessione solo per la sottoscrizione all'evento.

      Per entrambe le selezioni, ti verrà chiesto di configurare i dettagli dell'evento nei passaggi successivi.

    7. Facoltativamente, configura le impostazioni del nodo di connessione:

      • Numero minimo di nodi: inserisci il numero minimo di nodi di connessione.
      • Numero massimo di nodi: inserisci il numero massimo di nodi di connessione.

      Un nodo è un'unità (o una replica) di una connessione che elabora le transazioni. Sono necessari più nodi per elaborare più transazioni per una connessione e, al contrario, sono necessari meno nodi per elaborare un numero minore di transazioni. Per capire in che modo i nodi influiscono sui prezzi del connettore, consulta Prezzi dei nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi è impostato su 2 (per una migliore disponibilità) e il numero massimo di nodi è impostato su 50.

    8. Utilizza proxy: seleziona questa casella di controllo per configurare un server proxy per la connessione e configurare i seguenti valori:
      • Schema di autenticazione proxy: seleziona il tipo di autenticazione per eseguire l'autenticazione con il server proxy. Sono supportati i seguenti tipi di autenticazione:
        • Di base: autenticazione HTTP di base.
        • Digest: autenticazione HTTP di Digest.
      • Utente proxy: un nome utente da utilizzare per l'autenticazione con il server proxy.
      • Proxy Password (Password proxy): il segreto di Secret Manager della password dell'utente.
      • Tipo SSL proxy: il tipo SSL da utilizzare per la connessione al server proxy. Sono supportati i seguenti tipi di autenticazione:
        • Automatica: l'impostazione predefinita. Se l'URL è un URL HTTPS, viene utilizzata l'opzione Tunnel. Se l'URL è un URL HTTP, viene utilizzata l'opzione MAI.
        • Sempre: la connessione è sempre abilitata per SSL.
        • Mai: la connessione non è abilitata per SSL.
        • Tunnel: la connessione avviene tramite un proxy di tunneling. Il server proxy apre una connessione all'host remoto e il traffico scorre avanti e indietro attraverso il proxy.
      • Nella sezione Server proxy, inserisci i dettagli del server proxy.
        1. Fai clic su + Aggiungi destinazione.
        2. Seleziona un Tipo di destinazione.
          • Indirizzo host: specifica il nome host o l'indirizzo IP della destinazione.

            Se vuoi stabilire una connessione privata al tuo sistema di backend:

    9. Facoltativamente, fai clic su + AGGIUNGI ETICHETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave-valore.
    10. Fai clic su AVANTI.
  5. Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti.
    1. Tipo di destinazione: seleziona un Tipo di destinazione.
      1. Nel campo Indirizzo host, specifica il nome host o l'indirizzo IP della destinazione.
        1. Se vuoi stabilire una connessione privata ai sistemi di backend, segui questi passaggi:
          1. Crea un collegamento al servizio PSC.
          2. Crea un collegamento endpoint e inserisci i relativi dettagli nel campo Indirizzo host.
        2. Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi configurare indirizzi IP statici in uscita per le tue connessioni, quindi configurare le regole firewall in modo da inserire nella lista consentita solo indirizzi IP statici specifici.

      Per inserire altre destinazioni, fai clic su +AGGIUNGI DESTINAZIONE.

    2. Fai clic su AVANTI.
  6. Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
    1. Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.

      La connessione Servicenow supporta i seguenti tipi di autenticazione:

      • Nome utente e password
    2. Per informazioni su come configurare questi tipi di autenticazione, vedi Configurare l'autenticazione.

    3. Fai clic su AVANTI.
  7. Se hai abilitato l'iscrizione all'evento, nella pagina di creazione della connessione viene visualizzata la sezione Dettagli abbonamento all'evento. Per capire come configurare i dettagli della sottoscrizione agli eventi, consulta Configurare la sottoscrizione agli eventi.
  8. Verifica: controlla i dettagli di connessione e autenticazione.
  9. Fai clic su Crea.

Configura l'autenticazione

Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.

  • Nome utente e password
    • Nome utente: il nome utente ServiceNow da utilizzare per la connessione.
    • Password: secret di Secret Manager contenente la password associata al nome utente ServiceNow.

Configura la sottoscrizione all'evento [Anteprima]

Se hai abilitato la sottoscrizione all'evento, inserisci i seguenti valori nella sezione Event Subscription Details (Dettagli abbonamento evento):

  • Token di autenticazione: (facoltativo) seleziona il secret di Secret Manager del token di autenticazione e la versione del secret corrispondente dall'elenco a discesa Versione del secret.
  • (Facoltativo) Algoritmo HMAC: seleziona l'algoritmo HMAC per criptare il payload di risposta.
  • Chiave secret HMAC: se hai selezionato un algoritmo HMAC, seleziona il secret di Secret Manager della chiave HMAC e la versione del secret corrispondente dal menu a discesa Versione secret.

Pubblica i passaggi per la creazione della connessione

Per completare la configurazione della sottoscrizione all'evento, devi registrare l'URL webhook con la tua applicazione ServiceNow. Pertanto, dopo che la creazione della connessione è riuscita, esegui questi passaggi aggiuntivi:

  1. Vai alla pagina dei dettagli della connessione appena creata e copia l'URL webhook per la sottoscrizione all'evento.
  2. Accedi all'applicazione ServiceNow e procedi nel seguente modo:
    1. Nella pagina Tutte > Regole aziendali > Quando eseguire, seleziona l'operazione di cui vuoi rimanere in ascolto.
    2. Fai clic sulla scheda Avanzate. Si apre un editor di script.
    3. Inserisci un codice JavaScript che invii una richiesta all'URL di callback. La richiesta contiene il payload che viene attivato ogni volta che si verifica una qualsiasi delle operazioni abilitate. Ecco un esempio di codice JavaScript:

      Modello

      (function executeRule(current, previous /*null when async*/ ) {
      var request = new sn_ws.RESTMessageV2();
      request.setEndpoint('WEBHOOK_URL'); // here you must the listener url where you want send the event payload
      
      request.setHttpMethod('POST');
      
      var authToken = "AUTHENTICATION_TOKEN"
      request.setRequestHeader("authorization", authToken);
      request.setRequestHeader("Accept", "application/json");
      request.setRequestHeader('Content-Type', 'application/json');
      
      request.setRequestBody("{\"eventType\":\"" +
      "EVENT_TYPE" + CUSTOM_FIELDS "\"}");
      
      var data = request.getRequestBody();
      var secretKey = "SECRET_KEY";
      
      var signature = SncAuthentication.encode(data, secretKey, "ENCRYPTION_ALGORITHM");
      request.setRequestHeader("hmacauthorization",signature);
      var response = request.execute();
      
      })(current, previous);
      

      Sostituisci quanto segue:

      • WEBHOOK_URL: URL webhook per la sottoscrizione all'evento che dovresti ottenere dalla pagina dei dettagli della connessione di Integration Connectors.
      • AUTHENTICATION_TOKEN: il testo effettivo per il token di autenticazione che hai configurato per la connessione.
      • EVENT_TYPE: il testo effettivo per il tipo di evento che hai configurato nel trigger di ServiceNow.
      • CUSTOM_FIELDS: il corpo della richiesta deve contenere sempre il campo eventType. Oltre a questo campo, puoi aggiungere altri campi in base alle tue esigenze.
      • SECRET_KEY: il testo effettivo della chiave segreta che hai configurato per la connessione.
      • ENCRYPTION_ALGORITHM: deve essere uno qualsiasi dei seguenti valori:
        • HmacSHA224
        • HmacSHA256
        • HmacSHA384
        • HmacSHA512

        L'algoritmo deve essere lo stesso che hai configurato per la connessione.

      Esempio

      (function executeRule(current, previous /*null when async*/ ) {
      var request = new sn_ws.RESTMessageV2();
      request.setEndpoint('https://webhook.site/bb37937e-24ea-19b3-9dcd-84eca77f60eg'); // here you must the listener url where you want send the event payload
      
      request.setHttpMethod('POST');
      
      var authToken = "YWRtaW46ZkVpNypxVzhCL3VY"
      request.setRequestHeader("authorization", authToken);
      request.setRequestHeader("Accept", "application/json");
      request.setRequestHeader('Content-Type', 'application/json');
      
      request.setRequestBody("{\"caller_id\":\"" +
      current.caller_id + "\",\"eventType\":\"" +
      "service_now_event_type_1" + "\",\"company\":\"" +
      current.company + "\",\"number\":\"" +
      current.number + "\",\"description\":\"" +
      current.description + "\",\"FirstName\":\"" +
      current.u_firstname + "\",\"LastName\":\"" +
      current.u_lastname + "\",\"status\":\"" +
      current.u_status + "\",\"Element\":\"" +
      current.getElement() + "\",\"category\":\"" +
      current.category + "\",\"opened_at\":\"" +
      current.opened_at + "\",\"opened_by\":\"" +
      current.opened_by + "\",\"location\":\"" +
      current.location + "\",\"salesforceId\":\"" +
      current.u_salesforceid + "\"}"); //fields you want
      
      var data = request.getRequestBody();
      var secretKey = "YWRtaW46ZkVpNypxVzhCL3VY";
      
      // var MAC_ALG_4 = "HmacSHA384";
      var MAC_ALG_3 = "HmacSHA256";
      // var MAC_ALG_5 = "HmacSHA512";
      // var MAC_ALG_2 = "HmacSHA224";
      
      var signature = SncAuthentication.encode(data, secretKey, MAC_ALG_3);
      request.setRequestHeader("hmacauthorization",signature);
      var response = request.execute();
      
      })(current, previous);

Entità, operazioni e azioni

Tutti i connettori di integrazione forniscono un livello di astrazione per gli oggetti dell'applicazione connessa. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione è esposta come entità, operazioni e azioni.

  • Entità: un'entità può essere considerata come un oggetto o una raccolta di proprietà nell'applicazione o nel servizio collegato. La definizione di un'entità è diversa da un connettore a un connettore. Ad esempio, in un connettore di database, le tabelle sono le entità, in un connettore di file server, le cartelle sono le entità e in un connettore di sistema di messaggistica le code sono le entità.

    Tuttavia, è possibile che un connettore non supporti o non abbia entità, nel qual caso l'elenco Entities sarà vuoto.

  • Operazione : un'operazione è l'attività che puoi eseguire su un'entità. Su un'entità puoi eseguire una qualsiasi delle seguenti operazioni:

    Se selezioni un'entità dall'elenco disponibile, viene generato un elenco di operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta le operazioni delle entità dell'attività Connettori. Tuttavia, se un connettore non supporta nessuna delle operazioni delle entità, queste operazioni non supportate non sono elencate nell'elenco Operations.

  • Azione: un'azione è una funzione di prima classe resa disponibile per l'integrazione attraverso l'interfaccia del connettore. Un'azione consente di apportare modifiche a una o più entità e di variare da connettore a connettore. Tuttavia, è possibile che un connettore non supporti alcuna azione, nel qual caso l'elenco Actions sarà vuoto.

Azioni

Questa sezione elenca tutte le azioni supportate dalla connessione Servicenow.

Azione CaricaAllegato

Questa azione Carica un file come allegato di un record specificato.

Parametri di input dell'azione UploadAttachment

Nome parametro Tipo di dati Obbligatorio Descrizione
Contenuti Stringa No Contenuti stringa da caricare come file.
ContentBytes Stringa No Byte di contenuti da caricare come file.
HasBytes Booleano No Se caricare i contenuti come byte.
TableName Stringa No Nome della tabella a cui allegare il file.
TableSysId Stringa No Sys_id del record nella tabella specificato da TableName a cui vuoi allegare il file.

Parametri di output dell'azione UploadAttachment

Questa azione restituisce un set di parametri dall'entità caricata

Ad esempio, per sapere come configurare l'azione UploadAttachment, consulta la sezione Esempi.

Azione ScaricaAllegato

Questa azione consente di scaricare un file allegato da un record specifico.

Parametri di input dell'azione DownloadAttachment

Nome parametro Tipo di dati Obbligatorio Descrizione
SysId Stringa Sys_id del file allegato.
HasBytes Booleano No Indica se scaricare i contenuti come byte.

Parametri di output dell'azione DownloadAttachment

Questa azione restituisce se il download è True o false tramite il parametro Success e, se True, restituisce il contenuto di DownloadAttachment

Ad esempio, per sapere come configurare l'azione DownloadAttachment, consulta la sezione Esempi.

Esempi

Questa sezione descrive come eseguire alcune delle operazioni e delle azioni delle entità in questo connettore.

Esempio: caricamento di un allegato per un incidente

  1. Nella finestra di dialogo Configure connector task, fai clic su Actions.
  2. Seleziona l'azione UploadAttachment, quindi fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload e inserisci un valore simile al seguente nel campo Default Value:
    {
      "Content": "File is uploaded",
      "TableName": "Incident",
      "TableSysId": "018f4057473ae5104593a6b5316d4357"
    }
  4. In questo esempio viene caricato il valore Content dal payload come allegato e viene restituito l'insieme di parametri per l'entità caricata . Se l'azione ha esito positivo, il parametro di risposta connectorOutputPayload dell'attività di UploadAttachment avrà un valore simile al seguente:

    {
                          "SysId": "a667f5d1939be110ff87352d6cba10fc",
                          "FileName": "7043426257788756581.connector.txt",
                          "TableSysId": "018f4057473ae5104593a6b5316d4357",
                          "TableName": "Incident",
                          "DownloadLink": "https://gcp.service-now.com/api/now/v1/attachment/a667f5d1939be110ff87352d6cba10fc/file",
                          "ContentType": "text/plain",
                          "SizeBytes": "16",
                          "ChunkSizeBytes": "700000",
                          "Compressed": "true",
                          "SizeCompressed": "36",
                          "SysTags": "",
                          "ImageHeight": "",
                          "ImageWidth": "",
                          "AverageImageColor": "",
                          "SysModCount": "0",
                          "Hash": "807e96c2942c41ad699d004a9d6a74595c84fab09111d479b6bbe013d5debff6",
                          "State": "pending",
                          "SysUpdatedBy": "gcp2",
                          "SysUpdatedOn": "2023-06-07 07:23:34",
                          "SysCreatedBy": "gcp2",
                          "SysCreatedOn": "2023-06-07 07:23:34",
                          "encryption_context": ""
                        }

Esempio: scaricare l'allegato di un incidente

  1. Nella finestra di dialogo Configure connector task, fai clic su Actions.
  2. Seleziona l'azione DownloadAttachment, quindi fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload e inserisci un valore simile al seguente nel campo Default Value:
    {
      "SysId": "440c3995471fe1104593a6b5316d4384"
    }
  4. Questo esempio restituisce se il valore di download è True o false tramite il parametro Success e, se True, restituisce il contenuto di DownloadAttachment. Se l'azione ha esito positivo, il parametro di risposta connectorOutputPayload dell'attività di DownloadAttachment avrà un valore simile al seguente:

    [
                        {
                          "Success": "True"
                        },
                        {
                          "Content": " A Simple Text File \r\n\r\n\r\n This is a small demonstration .txt file - \r\n just for use in the Virtual Mechanics tutorials. More text. And more \r\n text. And more text. And more text. And more text. \r\n And more text. And more text. And more text. And more text. And more \r\n text. And more text. Boring, zzzzz. And more text. And more text. And \r\n more text. And more text. And more text. And more text. And more text. \r\n And more text. And more text. \r\n And more text. And more text. And more text. And more text. And more \r\n text. And more text. And more text. Even more. Continued on page 2 ...\r\n Simple PDF File 2 \r\n ...continued from page 1. Yet more text. And more text. And more text. \r\n And more text. And more text. And more text. And more text. And more \r\n text. Oh, how boring typing this stuff. But not as boring as watching \r\n paint dry. And more text. And more text. And more text. And more text. \r\n Boring. More, a little more text. The end, and just as well. "
                        }]

Limitazioni di sistema

Il connettore ServiceNow può elaborare un massimo di 10 transazioni al secondo per nodo e limitare qualsiasi transazione oltre questo limite. Per impostazione predefinita, Integration Connectors alloca 2 nodi (per una migliore disponibilità) per una connessione.

Per informazioni sui limiti applicabili a Integration Connectors, consulta Limiti.

Utilizzare Terraform per creare connessioni

Puoi utilizzare la risorsa Terraform per creare una nuova connessione.

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Per visualizzare un modello Terraform di esempio per la creazione delle connessioni, guarda il modello di esempio.

Quando crei questa connessione utilizzando Terraform, devi impostare le seguenti variabili nel file di configurazione Terraform:

Nome parametro Tipo di dati Obbligatorio Descrizione
proxy_enabled BOOLEANO False Seleziona questa casella di controllo per configurare un server proxy per la connessione.
proxy_auth_scheme ENUM False Il tipo di autenticazione da utilizzare per eseguire l'autenticazione sul proxy ProxyServer. I valori supportati sono: BASIC, DIGEST, NONE
proxy_user STRING False Un nome utente da utilizzare per l'autenticazione al proxy ProxyServer.
proxy_password SECRET False Una password da utilizzare per l'autenticazione al proxy ProxyServer.
proxy_ssltype ENUM False Il tipo di SSL da utilizzare per la connessione al proxy ProxyServer. I valori supportati sono: AUTO, ALWAYS, NEVER, GCP
include_system_tables BOOLEANO False Consente di stabilire se esporre o meno le tabelle di sistema.
filter_tables STRING False Specifica le tabelle da inserire in un elenco separato da virgole.

Utilizza la connessione Servicenow in un'integrazione

Dopo aver creato la connessione, diventa disponibile sia in Apigee Integration che in Application Integration. Puoi usare la connessione in un'integrazione tramite l'attività Connettori.

  • Per capire come creare e utilizzare l'attività Connettori in Apigee Integration, consulta Attività Connettori.
  • Per capire come creare e utilizzare l'attività Connettori in Application Integration, consulta Attività Connettori.

Ricevi assistenza dalla community Google Cloud

Puoi pubblicare le tue domande e discutere di questo connettore nella community Google Cloud sui forum Cloud.

Passaggi successivi