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. 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

A página da integração Slack do painel de administração apresenta os três URL a indicar ao Slack mais abaixo, construídos a partir do URL público do seu servidor.

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 verifica o URL logo que é introduzido. Configure a integração primeiro: o URL responde assim que a integração está ativada com o seu signing secret.

  • 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 nível de aplicação (app-level token) 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 a integração.

Configurar a integração

No painel de administração, abra Integrations e depois Configure no cartão Slack.

Campo De onde vem
Status Enabled ou Disabled
Client ID Basic Information da aplicação Slack
Client secret Basic Information da aplicação Slack
Signing secret Basic Information da aplicação Slack
Connection Request URLs, ou Socket Mode se o ativou na aplicação Slack
App-level token O token criado com o Socket Mode se o ativou na aplicação Slack, ou vazio
Call failures Envia um e-mail aos administradores quando uma chamada Slack não consegue iniciar, ser atualizada ou terminar

A página apresenta também o Redirect URL, o URL do comando slash e o URL dos eventos a introduzir na aplicação Slack. Cada administrador pode recusar os e-mails de falha de chamada em Notifications, em A Slack call fails.

Guardar produz efeito logo no pedido seguinte, sem reinício a efetuar.

Passar o estado a Disabled interrompe as chamadas e os comandos vindos do Slack, deixando a página acessível para configurar a integração.

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

Referência de configuração

Eis as chaves do elemento slack de settings.conf, caso prefira editá-lo diretamente. Num cluster, o painel de administração não as pode guardar: cada servidor lê o seu próprio ficheiro de configuração, que tem de ser editado em cada um deles.

Chave Predefinição Significado
enabled false Ativa a integração
client_id Client ID da aplicação Slack
client_secret Client secret da aplicação Slack
signing_secret Signing secret da aplicação Slack
enable_admin_emails false Envia um e-mail aos administradores quando uma chamada Slack falha
websocket false Recebe os eventos e os comandos pelo Socket Mode
app_socket_token App-level token do Socket Mode se estiver ativado, ou vazio
ignore_signature false Aceita os pedidos que o Slack não assinou. Apenas para desenvolvimento, nunca em produção

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.