Configure notificações do Mattermost usando o plugin discourse-chat-integration

Este howto descreve como configurar o provedor Mattermost incluído no discourse-chat-integration.

Habilitar

O plugin discourse-chat-integration já vem bundled com o Discourse. Nenhuma instalação separada é necessária. Para habilitá-lo, verifique se a configuração do site chat_integration_enabled está ativada.

Notificações

Configurar o Mattermost

\u003eSeu servidor Mattermost precisa ser acessível a partir do seu servidor Discourse para que eles possam se conectar. Recomenda-se o uso de HTTPS, mas HTTP também deve funcionar.

  1. No Console do Sistema do seu Mattermost, em Integrações Personalizadas, verifique se as seguintes configurações estão habilitadas:

    • Habilitar Webhooks de Entrada
    • Habilitar que integrações substituam nomes de usuário
    • Habilitar que integrações substituam ícones de foto de perfil
    • Habilitar Comandos de Barra Personalizados (se desejar usar comandos de barra)
  2. Faça login na sua equipe, clique no seu nome no canto superior esquerdo e depois clique em \u003ckbd\u003eIntegrações\u003c/kbd\u003e

  3. Escolha \u003ckbd\u003eWebhooks de Entrada\u003c/kbd\u003e, \u003ckbd\u003eAdicionar Webhook de Entrada\u003c/kbd\u003e

  4. Insira um “Nome de Exibição”, uma “Descrição” e escolha um canal aleatório da lista (não importa qual, o Discourse substituirá isso)

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

  1. \u003ckbd\u003eSalvar\u003c/kbd\u003e

  2. Copie a URL fornecida; você precisará dela mais tarde

Configurar o Discourse

  1. Cole a URL que você copiou na configuração do site chat_integration_mattermost_webhook_url

  2. Habilite chat_integration_mattermost_enabled

  3. Configure algumas “Regras” para seus canais, de acordo com as instruções do discourse-chat-integration. Os identificadores de canal se parecem com #town-square ou @davidtaylor.

  4. Clique em \u003ckbd\u003eTestar\u003c/kbd\u003e em um dos canais para verificar se tudo está funcionando. Você deve receber uma mensagem como esta:

  5. :unicorn:

Comandos de Barra

Comandos de barra permitem que você gerencie suas regras dentro do Mattermost. Para fazer funcionar:

  1. Se ainda não o fez, habilite Habilitar Comandos de Barra Personalizados no Console do Sistema do seu Mattermost

  2. Faça login na sua equipe, clique no seu nome no canto superior esquerdo e depois clique em \u003ckbd\u003eIntegrações\u003c/kbd\u003e

  3. Escolha \u003ckbd\u003eComandos de Barra\u003c/kbd\u003e, \u003ckbd\u003eAdicionar Comando de Barra\u003c/kbd\u003e

    • Nome de Exibição: Discourse
    • Descrição: Gerenciar regras de notificação do Discourse
    • Palavra Gatilho do Comando: discourse
    • URL da Solicitação: \u003cyour-discourse-url\u003e/chat-integration/mattermost/command
    • Método da Solicitação: POST
    • Nome de Usuário da Resposta: Discourse
    • Ícone da Resposta: (opcionalmente especifique uma URL de ícone)
    • Autocompletar: :ballot_box_with_check:
    • Dica de Autocompletar: Gerenciar a integração deste canal com o Discourse
    • Descrição de Autocompletar: [watch|follow|mute|delete|status|help]
  4. \u003ckbd\u003eSalvar\u003c/kbd\u003e

  5. Copie o “Token” fornecido e cole nas configurações do seu site do Discourse em chat_integration_mattermost_incoming_webhook_token

  6. Tente enviar /discourse help no seu canal do Mattermost — você deve receber uma mensagem com uma lista de comandos possíveis

  7. :1st_place_medal:

11 curtidas

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 curtidas

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

1 curtida

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 curtidas

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 curtidas

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 curtida

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 curtidas

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

Tenho integração de chat com o Mattermost ativada - assinei todas as categorias de “nível superior” exibidas pelo comando “/discourse watch”, mas as postagens em “subcategorias” não são capturadas.

Pegue esta postagem: https://openziti.discourse.group/t/this-is-a-test-topic-in-the-sdks-category/271
ela é retransmitida para o Slack corretamente - mas NÃO é retransmitida para o Mattermost. O Slack é capaz de assinar “todas as categorias”. O Mattermost não parece ser capaz.

Tentei toda a sintaxe que consigo pensar, mas não tive sorte. Alguma dica??

Obrigado antecipadamente…

1 curtida

@david - desculpe pela menção, mas estou perdendo posts do discourse na minha integração de chat. há alguma chance de você ainda estar acompanhando este tópico?

No momento, as subcategorias não são incluídas automaticamente quando você “assiste” a uma categoria. Você precisará adicionar cada subcategoria individualmente ou usar a opção “todas as categorias”.

1 curtida

Ei, obrigado por responder!!! Seria ótimo se eu pudesse descobrir ‘como’. As únicas categorias que o plugin parece reconhecer são as categorias mais altas?

Encontrei/tentei a opção “todas as categorias”, mas isso também não parece funcionar? Cara, eu realmente gostaria de usar “todas”, seria o IDEAL… Estou “fazendo errado”? Veja a captura de tela abaixo

Olá @david… o problema com o acima é que não consigo descobrir como me inscrever em uma “subcategoria” nem parece haver um “todos” que eu possa usar? Eu adoraria resolver isso.

Obrigado!

1 curtida

Desculpe pela resposta atrasada @Clint_Dovholuk!

Usando comandos de barra, acho que você pode assistir a todas as categorias assim:

/discourse watch

Mas a maneira mais fácil de configurar regras de notificação é no painel de administração do Discourse. Lá, todas as opções são claramente exibidas na interface, então não há necessidade de tentar descobrir a sintaxe exata do ‘comando de barra’. Confira a seção ‘configurando regras’ da documentação do plugin para mais informações.

2 curtidas

Obrigado @david .

Postei uma captura de tela do comando de barra antes. Repostando aqui… você pode ver que as ‘subcategorias’ não estão listadas um ou dois posts acima…

Eu tinha tentado a página de administração antes, mas ela fechava imediatamente o menu suspenso quando eu a usava… No entanto, pressionar a ‘seta para baixo’ pareceu resolver o que eu precisava.

Eu gostaria MUITO de uma opção ‘tudo’. Isso é um plugin que eu posso editar/corrigir de alguma forma??? No momento, parece assim :confused:

Para receber notificações de todos os tópicos, sugiro excluir todas essas regras específicas de categoria e, em seguida, adicionar uma única regra de ‘todas as categorias’.

Você pode compartilhar mais detalhes sobre o que está vendo aqui? Algumas capturas de tela ou um vídeo seriam ótimos!

Ao editar uma ‘regra’, você deve conseguir usar o menu suspenso de categoria para escolher ‘(nenhuma categoria)’.

Depois de salvo, deve ficar assim:

(‘nenhuma categoria’ no menu suspenso é claramente uma má descrição do que realmente significa. Vou corrigir isso)

Acho que as subcategorias são omitidas do texto de ajuda por questões de espaço. Mas você ainda pode se inscrever em categorias usando seu ‘slug’ (o nome da subcategoria da URL). Então, no caso de #howto:admins aqui no Meta, seria /discourse watch admins.