Configura le notifiche di Mattermost usando il plugin discourse-chat-integration

Questa guida spiega come configurare il provider Mattermost incluso in discourse-chat-integration.

Abilitazione

Il plugin discourse-chat-integration è incluso in Discourse. Non è necessaria un’installazione separata. Per abilitarlo, verifica che l’impostazione del sito chat_integration_enabled sia attiva.

Notifiche

Configurazione di Mattermost

Il tuo server Mattermost deve essere accessibile dal tuo server Discourse per poterli collegare. Si consiglia di utilizzare HTTPS, ma dovrebbe funzionare anche HTTP.

  1. Nella Console di sistema di Mattermost, sotto Integrazioni personalizzate, verifica che queste impostazioni siano abilitate:

    • Abilita webhook in entrata
    • Abilita le integrazioni a sovrascrivere i nomi utente
    • Abilita le integrazioni a sovrascrivere le icone delle immagini profilo
    • Abilita comandi slash personalizzati (se desideri utilizzare comandi slash)
  2. Accedi al tuo team, clicca sul tuo nome in alto a sinistra, quindi clicca su Integrazioni

  3. Scegli Webhook in entrata, poi Aggiungi webhook in entrata

  4. Inserisci un “Nome visualizzato”, una “Descrizione” e scegli un canale casuale dall’elenco (non importa quale, Discourse lo sovrascriverà)

  1. Clicca su Salva

  2. Copia l’URL fornito: ti servirà più avanti

Configurazione di Discourse

  1. Incolla l’URL copiato nell’impostazione del sito chat_integration_mattermost_webhook_url

  2. Abilita chat_integration_mattermost_enabled

  3. Configura alcune “Regole” per i tuoi canali, seguendo le istruzioni di discourse-chat-integration. Gli identificatori dei canali hanno un aspetto simile a #piazza-cittadina o @davidtaylor.

  4. Clicca su Test su uno dei canali per verificare che tutto funzioni correttamente. Dovresti ricevere un messaggio simile a questo:

  5. :unicorn:

Comandi Slash

I comandi slash ti permettono di gestire le tue regole direttamente da Mattermost. Per farli funzionare:

  1. Se non l’hai già fatto, abilita Abilita comandi slash personalizzati nella Console di sistema di Mattermost

  2. Accedi al tuo team, clicca sul tuo nome in alto a sinistra, quindi clicca su Integrazioni

  3. Scegli Comandi slash, poi Aggiungi comando slash

    • Nome visualizzato: Discourse
    • Descrizione: Gestisci le regole di notifica di Discourse
    • Parola trigger del comando: discourse
    • URL della richiesta: <il-tuo-url-discourse>/chat-integration/mattermost/command
    • Metodo della richiesta: POST
    • Nome utente della risposta: Discourse
    • Icona della risposta: (opzionalmente specifica un URL per l’icona)
    • Completamento automatico: :ballot_box_with_check:
    • Suggerimento per il completamento automatico: Gestisci l'integrazione di questo canale con Discourse
    • Descrizione del completamento automatico: [watch|follow|mute|delete|status|help]
  4. Clicca su Salva

  5. Copia il “Token” fornito e incollalo nelle impostazioni del sito di Discourse sotto chat_integration_mattermost_incoming_webhook_token

  6. Prova a inviare /discourse help nel tuo canale Mattermost: dovresti ricevere un messaggio con un elenco di comandi disponibili

  7. :1st_place_medal:

11 Mi Piace

I recommend you also post this on the mattermost Discourse to get more feedbacks :cowboy_hat_face:

and probably a dedicated topic.

(also I wish we warned communities about hideous looking oneboxes cause they are missing images)

6 Mi Piace

I think we already do in the dashboard if they use the default images for the logos.

1 Mi Piace

Mattermost integration now supports slash commands (their implementation is built to be compatible with Slack’s) :tada:

I have also created a topic about it on the Mattermost forum, it can be found here:

5 Mi Piace

Hello! I am getting a broken image link to the right of the mattermost post. I tried to see the image url and it looks like an actual post instead of an image:

http://destek.hugin.com.tr/t/hugin-destek-topluluguna-hos-geldiniz/183/1

Is it intended to be the post author image I wonder?

Any tips on how to fix it?

Hi @nommaz - sorry about that. It was indeed trying to load an image from the URL of the post, which clearly isn’t going to work :wink:

I’ve fixed it now, so if you update to the latest version of the plugin it should work as intended :slight_smile:

2 Mi Piace

Hi David didnt work unfortunately

Are you sure it is not an issue with mattermost_provider.rb:68 ?

Thanks

Vedat

Oops, I made the change in the slack provider instead of mattermost :facepalm:

Just added another commit to correct the error, so please can you give it another try :slight_smile:

1 Mi Piace

Thanks! All set now :slight_smile:

What’s up if I get a 422 error when trying (test) to hook to Mattermost?

Make sure you copied the webhook URL correctly, and that there are no spaces before/after the URL. Is your mattermost server accessible to the internet? Or just an internal network?

3 Mi Piace

What’s the best way to handle multiple teams / multiple mattermost servers?

Ho l’integrazione della chat con Mattermost abilitata - mi sono iscritto a tutte le categorie “di primo livello” visualizzate tramite il comando “/discourse watch”, ma i post nelle “sottocategorie” non vengono rilevati.

Prendi questo post: https://openziti.discourse.group/t/this-is-a-test-topic-in-the-sdks-category/271
viene inoltrato correttamente a Slack, ma NON viene inoltrato a Mattermost. Slack è in grado di iscriversi a “tutte le categorie”. Mattermost non sembra esserne in grado.

Ho provato tutta la sintassi a cui riesco a pensare ma non ho avuto fortuna. Qualche suggerimento??

Grazie in anticipo…

1 Mi Piace

@david - scusa per la menzione ma mi mancano i post di discourse nella mia integrazione di chat. c’è qualche possibilità che tu stia ancora seguendo questo thread?

Al momento, le sottocategorie non sono incluse automaticamente quando si seleziona “Segui” per una categoria. Sarà necessario aggiungere ogni singola sottocategoria oppure utilizzare l’opzione “tutte le categorie”.

1 Mi Piace

Ehi, grazie per la risposta!!! Sarebbe fantastico se potessi capire “come”. Le uniche categorie che il plugin sembra riconoscere sono le categorie più in alto?

Ho trovato/provato l’opzione “tutte le categorie” ma anche quella non sembra funzionare? Cavolo, mi piacerebbe davvero usare “tutte”, sarebbe IDEALE… Sto “sbagliando”? Vedi lo screenshot qui sotto

Ciao @david… il problema con quanto sopra è che non riesco a capire come sottoscrivere una “sottocategoria” né sembra esserci un’“all” che posso usare? Mi piacerebbe risolvere questo problema.

Grazie!

1 Mi Piace

Mi scuso per la risposta in ritardo @Clint_Dovholuk!

Usando i comandi slash, penso che tu possa guardare tutte le categorie in questo modo:

/discourse watch

Ma il modo più semplice per configurare le regole di notifica è dal pannello di amministrazione di Discourse. Lì, tutte le opzioni sono chiaramente visualizzate nell’interfaccia utente, quindi non c’è bisogno di cercare di capire la sintassi esatta del ‘comando slash’. Dai un’occhiata alla sezione ‘configurazione delle regole’ della documentazione del plugin per maggiori informazioni.

2 Mi Piace

Grazie @david .

Ho postato uno screenshot del comando slash in precedenza. Lo ripubblico qui… puoi vedere che le ‘sottocategorie’ non sono elencate uno o due post sopra…

Avevo provato la pagina di amministrazione prima, ma il menu a tendina si chiudeva immediatamente quando la usavo… Tuttavia, premendo la ‘freccia giù’ sembrava sbloccare quello che mi serviva.

Mi piacerebbe DAVVERO un’opzione ‘tutto’. È un plugin che posso in qualche modo modificare/correggere??? Al momento sembra così :confused:

Per ricevere notifiche su tutti gli argomenti, suggerirei di eliminare tutte quelle regole specifiche per categoria e quindi aggiungere un’unica regola “tutte le categorie”.

Puoi condividere maggiori dettagli su ciò che vedi qui? Sarebbero ottimi screenshot o un video!

Quando modifichi una “regola”, dovresti essere in grado di utilizzare il menu a tendina della categoria per scegliere “(nessuna categoria)”.

Una volta salvato, dovrebbe apparire così:

(“nessuna categoria” nel menu a tendina è chiaramente una descrizione errata di ciò che significa realmente. Lo sistemerò)

Penso che le sottocategorie siano omesse dal testo della guida per questioni di spazio. Ma puoi comunque iscriverti alle categorie usando il loro ‘slug’ (il nome della sottocategoria dall’URL). Quindi, nel caso di #howto:admins qui su Meta, sarebbe /discourse watch admins.