Configura las notificaciones de Mattermost usando el plugin discourse-chat-integration

Esta guía howto describe cómo configurar el proveedor de Mattermost incluido en discourse-chat-integration.

Habilitar

El plugin discourse-chat-integration viene incluido con Discourse. No se requiere instalación por separado. Para habilitarlo, verifica que la configuración del sitio chat_integration_enabled esté activada.

Notificaciones

Configurar Mattermost

Tu servidor de Mattermost debe ser accesible desde tu servidor de Discourse para poder conectarlos. Se recomienda usar HTTPS, aunque HTTP también debería funcionar.

  1. En la Consola del sistema de tu Mattermost, bajo Integraciones personalizadas, verifica que estas configuraciones estén habilitadas:

    • Habilitar webhooks entrantes
    • Habilitar que las integraciones sobrescriban los nombres de usuario
    • Habilitar que las integraciones sobrescriban los iconos de la imagen de perfil
    • Habilitar comandos de barra personalizados (si deseas usar comandos de barra)
  2. Inicia sesión en tu equipo, haz clic en tu nombre en la esquina superior izquierda y luego haz clic en \u003ckbd\u003eIntegraciones\u003c/kbd\u003e.

  3. Selecciona \u003ckbd\u003eWebhooks entrantes\u003c/kbd\u003e, luego \u003ckbd\u003eAgregar webhook entrante\u003c/kbd\u003e.

  4. Ingresa un “Nombre para mostrar”, una “Descripción” y elige un canal aleatorio de la lista (no importa cuál, Discourse lo sobrescribirá).

\u003cimg src="//assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/d/a/da17356f254cb84e84738ffe8f4a0652de2f2677.png" height="200"\u003e

  1. Haz clic en \u003ckbd\u003eGuardar\u003c/kbd\u003e.

  2. Copia la URL proporcionada; la necesitarás más adelante.

Configurar Discourse

  1. Pega la URL que copiaste en la configuración del sitio chat_integration_mattermost_webhook_url.

  2. Habilita chat_integration_mattermost_enabled.

  3. Configura algunas “Reglas” para tus canales, siguiendo las instrucciones de discourse-chat-integration. Los identificadores de canal tienen un formato como #plaza-del-pueblo o @davidtaylor.

  4. Haz clic en \u003ckbd\u003eProbar\u003c/kbd\u003e en uno de los canales para verificar que todo funcione correctamente. Deberías recibir un mensaje como este:

  5. :unicorn:

Comandos de barra

Los comandos de barra te permiten gestionar tus reglas desde dentro de Mattermost. Para que funcionen:

  1. Si aún no lo has hecho, habilita Habilitar comandos de barra personalizados en la Consola del sistema de tu Mattermost.

  2. Inicia sesión en tu equipo, haz clic en tu nombre en la esquina superior izquierda y luego haz clic en \u003ckbd\u003eIntegraciones\u003c/kbd\u003e.

  3. Selecciona \u003ckbd\u003eComandos de barra\u003c/kbd\u003e, luego \u003ckbd\u003eAgregar comando de barra\u003c/kbd\u003e.

    • Nombre para mostrar: Discourse
    • Descripción: Gestionar las reglas de notificación de Discourse
    • Palabra desencadenante del comando: discourse
    • URL de solicitud: \u003ctu-url-de-discourse\u003e/chat-integration/mattermost/command
    • Método de solicitud: POST
    • Nombre de usuario de respuesta: Discourse
    • Icono de respuesta: (opcionalmente especifica una URL de icono)
    • Autocompletar: :ballot_box_with_check:
    • Sugerencia de autocompletar: Gestionar la integración de este canal con Discourse
    • Descripción de autocompletar: [watch|follow|mute|delete|status|help]
  4. Haz clic en \u003ckbd\u003eGuardar\u003c/kbd\u003e.

  5. Copia el “Token” proporcionado y pégalo en la configuración de tu sitio de Discourse bajo chat_integration_mattermost_incoming_webhook_token.

  6. Intenta enviar /discourse help en tu canal de Mattermost; deberías recibir un mensaje con una lista de comandos posibles.

  7. :1st_place_medal:

11 Me gusta

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 Me gusta

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

1 me gusta

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 Me gusta

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 Me gusta

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 me gusta

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 Me gusta

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

Tengo integración de chat con Mattermost habilitada. Me suscribí a todas las categorías “de nivel superior” que se muestran con el comando “/discourse watch”, pero las publicaciones en “subcategorías” no se capturan.

Toma esta publicación: https://openziti.discourse.group/t/this-is-a-test-topic-in-the-sdks-category/271
Se retransmite a Slack correctamente, pero NO se retransmite a Mattermost. Slack puede suscribirse a “todas las categorías”. Mattermost no parece poder hacerlo.

He probado toda la sintaxis que se me ocurre, pero no he tenido suerte. ¿Algún consejo?

Gracias de antemano…

1 me gusta

@david: lamento mencionarte, pero me faltan las publicaciones de discourse en mi integración de chat. ¿hay alguna posibilidad de que todavía estés siguiendo este hilo?

Por el momento, las subcategorías no se incluyen automáticamente cuando “sigues” una categoría. Necesitarás añadir cada subcategoría individualmente o usar la opción “todas las categorías”.

1 me gusta

¡Hola, gracias por responder! Sería genial si pudiera averiguar “cómo”. ¿Las únicas categorías que el plugin parece reconocer son las categorías principales?

Encontré/probé la opción “todas las categorías” pero tampoco parece funcionar. Me encantaría poder usar “todas”, sería IDEAL… ¿Lo estoy “haciendo mal”? Vea la captura de pantalla a continuación.

Hola @david… el problema con lo anterior es que no puedo averiguar cómo suscribirme a una “subcategoría”, ni parece haber un “todas” que pueda usar. Me encantaría resolver esto.

¡Gracias!

1 me gusta

¡Disculpa la demora en responder, @Clint_Dovholuk!

Usando comandos de barra, creo que puedes seguir todas las categorías así:

/discourse watch

Pero la forma más fácil de configurar las reglas de notificación es desde el panel de administración de Discourse. Allí, todas las opciones se muestran claramente en la interfaz de usuario, por lo que no hay necesidad de intentar descifrar la sintaxis precisa del ‘comando de barra’. Consulta la sección ‘configurar reglas’ de la documentación del plugin para obtener más información.

2 Me gusta

Gracias @david.

Publico una captura de pantalla del comando de barra diagonal antes. La republico aquí… puedes ver que las ‘subcategorías’ no están listadas un post o dos arriba…

Había intentado la página de administración antes, pero se cerraba inmediatamente el menú desplegable cuando la usaba… Sin embargo, presionar la ‘flecha hacia abajo’ pareció arreglar lo que necesitaba.

REALMENTE me gustaría una opción de ‘todo’. ¿Es esto un plugin que puedo editar/arreglar de alguna manera??? Ahora mismo se ve así :confused:

Para recibir notificaciones de todos los temas, te sugiero eliminar todas esas reglas específicas de categoría y luego agregar una sola regla de ‘todas las categorías’.

¿Puedes compartir más detalles sobre lo que ves aquí? ¡Serían geniales algunas capturas de pantalla o un video!

Al editar una ‘regla’, deberías poder usar el menú desplegable de categoría para elegir ‘(sin categoría)’.

Una vez guardado, debería verse así:

(‘sin categoría’ en el menú desplegable es claramente una mala descripción de lo que realmente significa. Lo arreglaré)

Creo que las subcategorías se omiten del texto de ayuda por cuestión de espacio. Pero aún puedes suscribirte a categorías usando su ‘slug’ (el nombre de la subcategoría de la URL). Así que en el caso de #howto:admins aquí en Meta, sería /discourse watch admins.