Aggiungere Webhook

Definire un webhook ti consente di utilizzare un endpoint specifico in diversi trigger o scheduler.

Fondamenti

Suggerimento

Tieni presente che il sito remoto deve essere in grado di comprendere il payload del webhook predefinito che Zammad sta inviando. Trova maggiori informazioni sulla personalizzazione di un payload nella sezione successiva.

Per aggiungere un nuovo webhook regolare, clicca sul pulsante Nuovo Webhook. Per un webhook predefinito, clicca sul pulsante freccia a destra e scegli Webhook Predefinito dal menu a discesa. Nel caso tu selezioni un webhook predefinito, ti verrà chiesto di scegliere tra uno dei predefiniti disponibili:

  • Mattermost

  • Microsoft Teams

  • Rocket Chat

  • Slack

Dopo averne selezionato uno e cliccato su Avanti, Zammad mostra la finestra di dialogo di configurazione del webhook. Questo è ciò che vedi direttamente quando crei un webhook da zero. Continua a leggere per maggiori informazioni sulla configurazione di un webhook.

Configurazione

Puoi configurare le seguenti informazioni per i webhook:

Nome

Questo nome verrà visualizzato nelle selezioni di trigger e scheduler.

Endpoint

Endpoint webhook a cui Zammad invia il suo payload. Si prega di notare che Zammad ignora i parametri di autenticazione di base qui. Vedi sotto come configurare nome utente e password tramite campi separati.

Metodo di richiesta

Scegli tra DELETE, PATCH, POST e PUT, a seconda del tuo caso d’uso.

Verifica SSL

Predefinito su - se stai usando certificati autofirmati non sicuri, imposta questa opzione su no.

Pericolo

Si prega di essere consapevoli che disattivare la verifica SSL è un rischio per la sicurezza. Dovrebbe essere usato solo temporaneamente o a scopo di test. Se disattivato, non c’è verifica del certificato, il che significa che qualsiasi certificato presentato verrà accettato.

Autenticazione

Scegli tra Autenticazione HTTP Basic, Bearer Token o nessuna autenticazione, a seconda di ciò che supporta il servizio di destinazione.

Bearer Token

Nel caso tu abbia selezionato questo metodo di autenticazione, aggiungi il tuo token qui.

Nome Utente

Nel caso di Autenticazione HTTP Basic, fornisci qui il tuo nome utente.

Password

Nel caso di Autenticazione HTTP Basic, fornisci qui la password dell’utente.

Token di Firma HMAC SHA1

Se impostato, tutti i webhook inviati contengono un’intestazione x-hub-signature che consente al sito remoto di verificare la richiesta.

Nota

Questo non crittografa il payload. Utilizza connessioni HTTPS per proteggere la comunicazione. Contiene una firma HMAC del corpo della richiesta webhook. Scopri di più sulle HUB-Signatures qui.

Webhook Predefinito

Questo campo viene visualizzato solo per webhook predefiniti! Serve solo come riferimento a un webhook predefinito. Non è possibile modificarlo per webhook esistenti. A seconda del tipo di webhook predefinito, potrebbero essere visualizzati campi aggiuntivi sotto questo. Possono essere utilizzati per ulteriori personalizzazioni del comportamento del webhook.

Esempio per Mattermost:

Campi aggiuntivi del webhook predefinito
Payload Personalizzato

Per impostazione predefinita, è disattivato e il webhook invierà sempre il payload-webhook-predefinito all’endpoint di destinazione. Quando attivato, verrà mostrato un editor di codice sottostante, dove puoi configurare un payload personalizzato per il tuo webhook in formato JSON. Per inserire Variabili supportati, usa : : o inserisci #{ per l’autocompletamento.

Suggerimento

  • L’uso delle variabili è limitato rispetto ad altri contesti. Alcune funzionalità non sono disponibili nei webhook (ad esempio, l’estensione .value, la traduzione (#{t(object.attribute)}) e le funzioni di formattazione dell’ora (#{dt(object.time_attribute, [...]). Assicurati di selezionare una variabile dai suggerimenti di autocompletamento.

  • Il payload personalizzato deve avere una sintassi JSON valida! L’editor di codice evidenzierà eventuali problemi di sintassi. Inoltre, non sarà possibile salvare una struttura JSON non valida.

  • I webhook predefiniti forniranno sempre un payload personalizzato iniziale, specifico per il servizio associato.

Editor di codice payload personalizzato con autocompletamento variabili

Un esempio base della struttura è il seguente:

{
  "ticket": "#{ticket.title}",
  "message": "#{notification.message}",
  "customer": "#{ticket.customer.fullname}"
}
Nota

Se necessario, puoi lasciare informazioni utili affinché altri amministratori Zammad comprendano meglio il webhook in questione.

Attivo

Se impostato su inattivo, non potrai più selezionare il webhook nella configurazione del trigger o dello scheduler. I webhook inattivi non verranno attivati. Se trigger o scheduler hanno anche altre azioni configurate, queste verranno comunque eseguite.

Dopo aver configurato il tuo webhook, assicurati di invocarlo tramite trigger o scheduler. Nel caso qualcosa non funzioni, dai un’occhiata alla sezione risoluzione dei problemi.