Imagem de capa do projeto: NEXUS Slack 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 ícone message-circle (categoria Comunicação), registerDoc('slack', doc.md) e 11 ações de API via registerApiAction.
  • Banco de dados: tabelas MySQL slack_history (id, type, target, message_preview, status, http_code, response_data, task_id, created_at) e slack_cache (kind, query_key, data, status, updated_at com UNIQUE uk_kind_key) — criadas com CREATE TABLE IF NOT EXISTS em slack_install(); sem install.sql.
  • Configuração centralizada em slack_settings (via DB::getConfig): webhook_url, bot_token, default_channel (#general), bot_username, bot_icon_emoji (:shield:) e toggles auto_notify_tasks/auto_notify_alerts; slack_public_config() expõe apenas valores mascarados (slack_mask_secret).
  • Envio via Incoming Webhook (slack_send_webhook): POST para hooks.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.postMessage com Authorization: Bearer xoxb-..., modo híbrido em slack_send_message (modo auto usa 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) e slack_get_channels() (conversations.list filtrando 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) e slack_history_clear (TRUNCATE).
  • Auto-Dispatch de tarefas: slack_handle_task_event() conectado ao core via webhook_async.php — cards automáticos para task.created, task.updated (início, revisão e conclusão) e task.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 toggles auto_notify_tasks/auto_notify_alerts.
  • Fast Responses: manifesto fastr.json com /slack (status, ping/test, send <mensagem>) e slack_fastr_suggest para sugestões.
  • Tool MCP nexus_slack_send_message: exposta no nexus-mcp-server (schema text/title/description/color/channel/task_id) chamando a action slack_send via 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 ping e /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.

abertas (amostra): -- fechadas (amostra): -- base: -- ultimas issues

carregando andamento...

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

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.