EM ANDAMENTO
Resumo técnico
O NEXUS Slack integra o painel à plataforma Slack por meio de Incoming Webhooks e Web API (Bot Token), permitindo enviar mensagens, cards com Block Kit e notificações operacionais para canais da equipe. O plugin oferece configuração dupla (webhook ou bot), auditoria de disparos com cache de canais, comandos slash /slack e notificação automática de tarefas, com mascaramento de credenciais e teste de conexão integrado.
Escopo executado
- Registro do plugin em
plugin.php:registerTab('slack', tab.php)com íconemessage-circle(categoria Comunicação),registerDoc('slack', doc.md)e 11 ações de API viaregisterApiAction. - Banco de dados: tabelas MySQL
slack_history(id, type, target, message_preview, status, http_code, response_data, task_id, created_at) eslack_cache(kind, query_key, data, status, updated_at com UNIQUEuk_kind_key) — criadas comCREATE TABLE IF NOT EXISTSemslack_install(); sem install.sql. - Configuração centralizada em
slack_settings(viaDB::getConfig): webhook_url, bot_token, default_channel (#general), bot_username, bot_icon_emoji (:shield:) e togglesauto_notify_tasks/auto_notify_alerts;slack_public_config()expõe apenas valores mascarados (slack_mask_secret). - Envio via Incoming Webhook (
slack_send_webhook): POST parahooks.slack.com/services/...com suporte a texto, blocos (Block Kit) e attachments, timeouts cURL curtos e registro completo no histórico. - Envio via Slack Web API (
slack_send_bot_message):chat.postMessagecomAuthorization: Bearer xoxb-..., modo híbrido emslack_send_message(modoautousa bot quando canal + token configurados) e cards coloridos via attachment (cor padrão Aubergine#4A154B). - Consultas do bot:
slack_auth_test()(auth.test— identifica equipe e bot) eslack_get_channels()(conversations.listfiltrando canais públicos/privados) com cache TTL de 1 hora (SLACK_CACHE_TTL). - Teste de conexão (
slack_test_connection): valida webhook e/ou autenticação do bot, retornando detalhes por modo. - Status e histórico:
slack_status(totais, sucessos, erros e modo — Webhook, Web API ou Híbrido),slack_history(limite 1–100) eslack_history_clear(TRUNCATE). - Auto-Dispatch de tarefas:
slack_handle_task_event()conectado ao core viawebhook_async.php— cards automáticos paratask.created,task.updated(início, revisão e conclusão) etask.deleted, com cor por estado (azul#36C5F0, verde#2EB67D, âmbar#ECB22E, vermelho#E01E5A), menção<!here>em prioridade crítica, link direto (SITE_URL+/index.php?view=) e respeito aos togglesauto_notify_tasks/auto_notify_alerts. - Fast Responses: manifesto
fastr.jsoncom/slack(status,ping/test,send <mensagem>) eslack_fastr_suggestpara sugestões. - Tool MCP
nexus_slack_send_message: exposta nonexus-mcp-server(schema text/title/description/color/channel/task_id) chamando a actionslack_sendvia Bearer — agentes de IA enviam alertas operacionais diretamente. - Intel Hub:
nx_intel_register_enricher('slack', ['_text'], 'slack_intel_enrich', 51)— expõe o canal de notificação como configurado/desconfigurado. - Interface (
tab.php, 764 linhas): 4 abas (Enviar, Histórico, Bot/Canais, Configurações) com 4 KPIs, presets rápidos (Incidente de Segurança, Deploy/Release, Standup Diário, Manutenção e Teste de Tarefa) e Live Preview em tempo real no estilo de mensagem do Slack. - Alertas críticos de segurança do CI podem usar webhook Slack via
notify.php(notifications.slack_webhook_url).
Stack e ferramentas
- PHP 8 backend (sem framework) + MySQL (
slack_history,slack_cache) - Slack Incoming Webhooks + Slack Web API (chat.postMessage, auth.test, conversations.list)
- Block Kit (blocks) + attachments (cards com barra lateral colorida)
- Alpine.js + Tailwind CSS (aba com 4 abas, KPIs, presets e live preview)
- Plugin API interno: PluginManager tabs/docs/actions +
fastr.json+ intel enricher - cURL com timeouts e autenticação via Bearer token da API NEXUS
Tags operacionais
- Slack
- Notificações
- Webhooks
- Web API
- Block Kit
- Mensagens
- Alertas
- Comunicação
- Plugin NEXUS
Resultado operacional
- Dois modos de envio: Incoming Webhook (rápido, sem app) ou Slack Web API (multi-canal com bot), com modo híbrido automático.
- Mensagens ricas: texto simples, Block Kit estruturado ou cards com barra lateral colorida e campos.
- Auditoria completa: cada disparo registra código HTTP, preview, payload de resposta e task_id opcional em
slack_history. - Comandos slash:
/slack status,/slack pinge/slack send <mensagem>direto no terminal Fastr. - Auto-dispatch: cards automáticos de criação, atualização e exclusão de tarefas com cores por estado e link direto.
- Segurança: credenciais mascaradas na UI e nas respostas da API; timeouts cURL curtos; cache TTL para evitar rate-limits.
Andamento no GitHub (issues)
Painel em tempo real com as issues mais recentes do repositório.
live feed
abrir issues no githubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Resultados reais
O NEXUS Slack integra o painel à plataforma Slack por meio de Incoming Webhooks e Web API (Bot Token), permitindo enviar mensagens, cards com Block Kit e notificações operacionais para canais da equipe. O plugin oferece configuração dupla (webhook ou bot), auditoria de disparos com cache de canais, comandos slash /slack e notificação automática de tarefas, com mascaramento de credenciais e teste de conexão integrado.
Arquitetura e organização
- PHP 8
- MySQL
- Alpine.js
- Tailwind CSS
- Slack Web API
- Plugin NEXUS
Execução e operação
O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.
Screenshots
Falar sobre este projeto
Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.