Vision General
El conector de Slack proporciona funcionalidad para obtener mensajes de canales del espacio de trabajo de Slack y registrarlos en el indice de Fess.
Esta funcionalidad requiere el plugin fess-ds-slack.
Contenido Soportado
Mensajes de canales publicos
Mensajes de canales privados
Archivos adjuntos (opcional)
Requisitos Previos
Se requiere la instalacion del plugin
Se requiere la creacion de una Slack App y configuracion de permisos
Se requiere la obtencion del OAuth Access Token
Instalacion del Plugin
Instale desde «Sistema» -> «Plugins» en la pantalla de administracion:
Descargue
fess-ds-slack-X.X.X.jardesde Maven CentralCargue e instale desde la pantalla de gestion de plugins
Reinicie Fess
O consulte Complemento para mas detalles.
Metodo de Configuracion
Configure desde la pantalla de administracion en «Rastreador» -> «Almacen de datos» -> «Nuevo».
Configuracion Basica
| Elemento | Ejemplo |
|---|---|
| Nombre | Company Slack |
| Nombre del manejador | SlackDataStore |
| Habilitado | Activado |
Configuracion de Parametros
token=xoxp-your-token-here
channels=general,random
file_crawl=false
include_private=false
Lista de Parametros
| Parametro | Requerido | Descripcion |
|---|---|---|
token | Si | OAuth Access Token de la Slack App |
channels | Si | Canales a rastrear (separados por comas, o *all) |
file_crawl | No | Rastrear archivos tambien (predeterminado: false) |
include_private | No | Incluir canales privados (predeterminado: false) |
Configuracion de Script
title=message.user + " #" + message.channel
digest=message.text + "\n" + message.attachments
content=message.text
created=message.timestamp
timestamp=message.timestamp
url=message.permalink
Campos Disponibles
| Campo | Descripcion |
|---|---|
message.text | Contenido de texto del mensaje |
message.user | Nombre para mostrar del remitente del mensaje |
message.channel | Nombre del canal donde se envio el mensaje |
message.timestamp | Fecha/hora de envio del mensaje |
message.permalink | Enlace permanente del mensaje |
message.attachments | Informacion de respaldo de archivos adjuntos |
Configuracion de Slack App
1. Crear Slack App
Acceda a https://api.slack.com/apps:
Haga clic en «Create New App»
Seleccione «From scratch»
Ingrese el nombre de la aplicacion (ej: Fess Crawler)
Seleccione el espacio de trabajo
Haga clic en «Create App»
2. Configurar OAuth & Permissions
En el menu «OAuth & Permissions»:
Agregue a Bot Token Scopes:
Para solo canales publicos:
channels:history- Lectura de mensajes de canales publicoschannels:read- Lectura de informacion de canales publicos
Para incluir canales privados (include_private=true):
channels:historychannels:readgroups:history- Lectura de mensajes de canales privadosgroups:read- Lectura de informacion de canales privados
Para rastrear archivos tambien (file_crawl=true):
files:read- Lectura de contenido de archivos
3. Instalar la Aplicacion
En el menu «Install App»:
Haga clic en «Install to Workspace»
Verifique los permisos y haga clic en «Permitir»
Copie el «Bot User OAuth Token» (comienza con
xoxb-)
Nota
Normalmente se usa el Bot User OAuth Token que comienza con xoxb-, pero tambien se puede usar el User OAuth Token que comienza con xoxp- en los parametros.
4. Agregar a Canales
Agregue la App a los canales que desea rastrear:
Abra el canal en Slack
Haga clic en el nombre del canal
Seleccione la pestana «Integraciones»
Haga clic en «Agregar una aplicacion»
Agregue la aplicacion creada
Ejemplos de Uso
Rastrear Canales Especificos
Parametros:
token=xoxb-your-slack-bot-token-here
channels=general,random,tech-discussion
file_crawl=false
include_private=false
Script:
title=message.user + " #" + message.channel
digest=message.text + "\n" + message.attachments
content=message.text
created=message.timestamp
timestamp=message.timestamp
url=message.permalink
Rastrear Todos los Canales
Parametros:
token=xoxb-your-slack-bot-token-here
channels=*all
file_crawl=false
include_private=false
Script:
title=message.user + " #" + message.channel
content=message.text
created=message.timestamp
url=message.permalink
Rastrear Incluyendo Canales Privados
Parametros:
token=xoxb-your-slack-bot-token-here
channels=*all
file_crawl=false
include_private=true
Script:
title=message.user + " #" + message.channel
digest=message.text
content=message.text + "\nAdjunto: " + message.attachments
created=message.timestamp
url=message.permalink
Solucion de Problemas
Error de Autenticacion
Sintoma: invalid_auth o not_authed
Verificar:
Verificar que el token se haya copiado correctamente
Verificar el formato del token:
Bot User OAuth Token: comienza con
xoxb-User OAuth Token: comienza con
xoxp-
Verificar que la aplicacion este instalada en el espacio de trabajo
Verificar que se hayan otorgado los permisos necesarios
Canal No Encontrado
Sintoma: channel_not_found
Verificar:
Verificar que el nombre del canal sea correcto (sin #)
Verificar que la aplicacion este agregada al canal
Para canales privados, establecer
include_private=trueVerificar que el canal exista y no este archivado
No se Pueden Obtener Mensajes
Sintoma: El rastreo tiene exito pero hay 0 mensajes
Verificar:
Verificar que se hayan otorgado los ambitos necesarios:
channels:historychannels:readPara canales privados:
groups:history,groups:read
Verificar que existan mensajes en el canal
Verificar que la aplicacion este agregada al canal
Verificar que la Slack App este habilitada
Limite de Tasa de API
Sintoma: rate_limited
Solucion:
Aumentar el intervalo de rastreo
Reducir el numero de canales
Dividir en multiples almacenes de datos y distribuir la programacion
Limites de la API de Slack:
Metodos de nivel 3: 50+ solicitudes/minuto
Metodos de nivel 4: 100+ solicitudes/minuto
Informacion de Referencia
Descripcion General de los Conectores de Almacen de Datos - Vision general de conectores de almacen de datos
Conector de Atlassian - Conector de Atlassian
Rastreo de Almacén de Datos - Guia de configuracion de almacen de datos