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,POSTePUT, a seconda del tuo caso d’uso.- Verifica SSL
Predefinito su
sì- se stai usando certificati autofirmati non sicuri, imposta questa opzione suno.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:
- 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.
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.