Ir para o conteúdo

Integração Slack

Uma integração Slack pode ser adicionada à sua instalação do Drovio Server. Permite aos utilizadores iniciar uma chamada a partir do Slack, por comando slash ou a partir do botão de chamada, exigindo este último uma validação do Slack. Apresenta-se sob a forma de um ficheiro JAR que adiciona ao Drovio Server e depois configura. Terá de criar uma aplicação Slack no Slack.

Criar uma aplicação Slack

Aceda a api.slack.com/apps, depois clique em Create New App.

Criar uma aplicação Slack

Introduza o nome que quiser, Drovio serve, e selecione um espaço de trabalho de desenvolvimento onde possa testar a integração.

Nomear a aplicação Slack

Comando slash

No painel de navegação da esquerda, clique em Slash Commands, depois em Create New Command:

  • Command: /drovio
  • Request URL: https://url-do-seu-drovio-server/slack/app/command
  • Short Description: Pair remotely with Drovio (the app must be installed)
  • Usage Hint: [help, invite, add]
  • Escape channels, users, and links sent to your app: assinalado
  • Clique em Save.

OAuth & Permissions

No painel de navegação da esquerda, clique em OAuth & Permissions:

  • Redirect URLs: adicione https://url-do-seu-drovio-server/slack/app/install.
  • Scopes: adicione os seguintes âmbitos OAuth:
    • calls:write
    • commands
    • users:read
    • users:read.email

Event Subscriptions

No painel de navegação da esquerda, clique em Event Subscriptions:

  • Enable Events: On
  • Request URL: https://url-do-seu-drovio-server/slack/app/event

    Note

    O Slack tem de verificar este URL, siga portanto primeiro as instruções de Configurar o Drovio Server. Poderá também ter de passar ignore_signature para true na configuração do Drovio Server para que o URL seja validado.

  • Subscribe to bot events: clique em Add Bot User Event:

    • app_uninstalled
    • tokens_revoked
  • Clique em Save Changes.

Socket Mode (opcional)

Para evitar expor um ponto de acesso público, pode receber os eventos do Slack por WebSocket. No painel de navegação da esquerda, clique em Socket Mode:

  • Enable Socket Mode: On
  • Crie o token de aplicação e guarde-o.

A configuração da aplicação Slack está terminada. No painel da esquerda, clique em Basic Information: as informações aí apresentadas servirão para configurar o Drovio Server.

Configurar o Drovio Server

Antes de configurar o plugin Slack, execute algumas instruções SQL com psql. Lance todos os scripts com o utilizador drovio:

psql drovio -U drovio -W < 01_1-0-0.sql
psql drovio -U drovio -W < 02_1-0-3.sql

Copie em seguida drovio-slack.jar para a pasta que quiser na máquina do Drovio Server, por exemplo /opt/drovio-slack, depois:

sudo nano /etc/drovio-server/settings.conf

No topo do ficheiro de configuração, altere plugin_management:

"plugin_management": {
  "plugins": [
    {
      "classpath": "/opt/drovio-slack/drovio-slack.jar",
      "path": "com.drovio.server.slack",
      "ext": "java",
      "base_address": "drovio.server.slack"
    }
  ]
},

Adicione em seguida uma nova entrada no fim do ficheiro, mesmo antes do último }:

,
"slack": {
  "client_id": "XXXXXXXXXXX.XXXXXXXXXXX",
  "client_secret": "XXXXXXXXXXXXXXXXXXXXXXX",
  "signing_secret": "XXXXXXXXXXXXXXXXXXXXXXXX",
  "app_redirect_uri": "https://url-do-seu-drovio-server/slack/app/install",
  "launch_uri": "https://url-do-seu-drovio-server/launch",
  "join_uri": "https://url-do-seu-drovio-server/join/app",
  "enable_admin_emails": false,
  "ignore_signature": false,
  "websocket": false,
  "app_socket_token": "xapp-xxxxxxxxxxxxxxxxxxx"
}
  • client_id, client_secret e signing_secret devem retomar os valores apresentados na página de configuração da aplicação Slack, em Basic Information.
  • Adapte os URI aos do seu Drovio Server.
  • enable_admin_emails envia um e-mail para o endereço definido em smtp.admin_email quando um espaço de trabalho instala ou desinstala a aplicação. Vale false por predefinição.
  • Se configurou a aplicação Slack em Socket Mode, passe websocket para true e preencha app_socket_token com o token criado nessa altura.
  • Poderá também ter de passar ignore_signature para true e iniciar o Drovio Server para poder validar o URL das Event Subscriptions na configuração da aplicação Slack, como indicado acima.

Uma vez tudo configurado, reinicie o serviço, abra o Slack e vá ao seu espaço de trabalho de desenvolvimento. Introduza /drovio help para começar.

Porquê um reinício aqui

A maior parte da configuração do Drovio Server aplica-se a quente, mas os plugins só são carregados no arranque. Qualquer alteração ao plugin_management, incluindo a deste plugin, só produz efeito no reinício seguinte.

Integração com as chamadas Slack

O comando /drovio sem parâmetro exige uma validação do Slack, uma vez que toca na funcionalidade de chamada deles. Poderá também definir o Drovio como aplicação de chamada predefinida no Slack.

Contacte-nos para saber mais.