Cómo enviar un mensaje a Slack desde un script Bash

Con la ayuda de algunos webhooks, puedes convertir Slack en un centro de notificaciones para tu línea de comandos. Hay muchas cosas que puede hacer con esto, desde simples fuentes de mensajes hasta integraciones personalizadas de Slack para su aplicación.

Este tipo de integración funciona particularmente bien para eventos basados ​​en notificaciones, como cuando algo se actualiza o se publica contenido nuevo en algún lugar, de manera similar a cómo funcionan las fuentes RSS. También puede crear integraciones personalizadas para sus aplicaciones que se ejecutan en la misma API, incluidas menús y cuadros de diálogo interactivos para obtener la entrada del usuario.

Índice de contenidos()

    Usa un bot de Slack con webhook

    Slack tiene una API que le permite automatizar muchas interacciones con su espacio de trabajo. Puede acceder a esta API desde cualquier lugar, lo que le permite realizar solicitudes HTTP como POST es GET, que incluye scripts bash que usan la extensión curl utilidades, así como la mayoría de lenguajes de scripting. La curl La utilidad está instalada de forma predeterminada en casi todas las distribuciones de Unix y está disponible para su descarga. En Windows.

    Parte de esta API incluye webhooks, una forma de que dos aplicaciones intercambien mensajes. Se le dará una URL de webhook que puede crear como un archivo. POST request a, con algunos datos en forma de un objeto JSON. Por ejemplo, puede enviar un mensaje rápido con:

    {"text":"Hello, World!"}

    Tu script de bash enviará esta información a Slack, quien la leerá y enviará "¡Hola, mundo!" al canal especificado al configurar el webhook.

    Tendrás que usar el tuyo Aplicación de Slack, el mensaje vendrá de un bot (que puedes personalizar). En realidad, esto es algo bueno; Los webhooks se utilizan principalmente para notificaciones y, dado que un mensaje enviado a través de un webhook no se enviará desde su cuenta, recibirá notificaciones automáticas para los mensajes enviados de esta manera.

    También puede enviar mensajes automáticos desde su cuenta de Slack de manera similar, excepto que necesitará usar el chat.postMessage API con la extensión as_user argumento establecido en verdadero. Esto requerirá un archivo Token OAuth 2.0 con el chat:write:user alcance de la autorización, que necesitarás generarte a ti mismo antes de usar la API. Recomendamos seguir con los webhooks, ya que son mucho más fáciles de administrar.

    Configurar una aplicación de Slack para aceptar webhooks

    Navega al portal de la API de Slack e crear una nueva aplicación de Slack. Asigne un nombre de usuario a esta aplicación, seleccione el espacio de trabajo al que pertenecerá y presione "Crear aplicación".

    Se lo dirigirá a una página de inicio donde podrá agregar funciones a su bot. Hay muchas cosas interesantes aquí, como personalizado /commands es mensajes interactivos, pero todo lo que necesita ahora es "Webhook entrante". Haga clic en este botón y actívelo.

    Deberá registrar un nuevo webhook para que su aplicación envíe mensajes. Haga clic en "Agregar nuevo webhook al espacio de trabajo" en la parte inferior de esta pantalla.

    Se le pedirá que autorice la aplicación y seleccione el canal para los mensajes. Pueden ser canales públicos o mensajes directos con otros usuarios; ambos verán el bot en sus DM y recibirán notificaciones.

    Puede registrar múltiples webhooks para diferentes canales, pero cada gancho tendrá una URL diferente.

    Copie la URL de su webhook y abra su terminal. Pegar en:

    curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' YOUR_WEBHOOK_URL

    Reemplazo YOUR_WEBHOOK_URL con lo que te dio Slack. Presione Entrar y debería recibir un "¡Hola, mundo!" notificación y ver un nuevo mensaje en el canal que ha elegido.

    Puedes usar esto curl comando desde dentro de un script bash y puede configurar el objeto JSON para enviar tantos datos como desee, incluso desde variables bash.

    Uso de archivos adjuntos y mensajes formateados

    La API de mensajes puede hacer más que enviar mensajes de texto. Si desea que sus mensajes sean más estilizados, deberá agregar algunos parámetros adicionales al JSON de ese objeto curl enviar.

    puedes usar descuento y otro formato simple de la misma manera que lo haría en el cuadro de mensaje de Slack. Sin embargo, una cosa a tener en cuenta es que para vincular a canales y @ing usuarios, deberá especificar el ID del canal y el ID de usuario en lugar de nombres simples, de lo contrario no funcionará.

    Para todo lo demás, recomendamos usar Slack's constructor de kit de bloques, un editor WYSIWYG para mensajes de Slack que te permite crear contenido interactivo y enriquecido y también maneja la creación del JSON por ti. Los elementos como botones y menús se pueden configurar para enviar solicitudes POST a una URL especificada, permitiendo a los usuarios responder a la aplicación que envía el mensaje.

    Sin embargo, el generador de kits de bloques no es del todo necesario, ya que los métodos antiguos no han quedado obsoletos. Si solo desea utilizar funciones como Archivos adjuntos, puedes usar el viejo Generador de mensajes para crear y obtener una vista previa del JSON.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir