Como enviar uma mensagem para o Slack a partir de um script Bash
Com a ajuda de alguns webhooks, você pode transformar o Slack em um centro de notificações para sua linha de comando. Há muito que você pode fazer com isso, desde simples feeds de mensagens até integrações personalizadas do Slack para seu aplicativo.
Esse tipo de integração funciona particularmente bem para eventos baseados em notificações, como quando algo é atualizado ou novo conteúdo é publicado em algum lugar, semelhante à maneira como os feeds RSS operam. Você também pode fazer integrações personalizadas para seus próprios aplicativos que funcionam com a mesma API, incluindo inclusive diálogos e menus interativos para obter informações do usuário.
Use um Slack Bot com Webhooks
O Slack possui uma API que permite automatizar muitas interações com o seu espaço de trabalho. Você pode acessar essa API de qualquer lugar que permita fazer solicitações HTTP como POST e GET, que incluem scripts bash usando o utilitário curl, bem como a maioria das linguagens de script. O utilitário curl é instalado por padrão em quase todas as distros do Unix e está disponível para download no Windows.
Parte desta API inclui webhooks, uma maneira de dois aplicativos enviarem mensagens um ao outro. Você receberá um URL de webhook para o qual você pode fazer uma solicitação POST, com alguns dados na forma de um objeto JSON. Por exemplo, você pode enviar uma mensagem rápida com:
{"text": "Olá, mundo!"}
Seu script bash enviará esse bit de dados para o Slack, que o lerá e enviará 'Olá, Mundo!' ” ao canal que você especificar quando configurar o webhook.
Você precisará usar seu próprio Slack App, para que a mensagem venha de um bot (que você pode personalizar). Isso é realmente uma coisa boa; os webhooks são usados principalmente para notificações e, como uma mensagem enviada por um webhook não será enviada de sua própria conta, você receberá notificações por push das mensagens enviadas dessa maneira.
Você também pode enviar mensagens automatizadas da sua própria conta do Slack de maneira semelhante, exceto que você precisará usar a API chat. postMessage com o argumento as_user definido como true. Isso exigirá um token OAuth 2.0 com o escopo de permissão chat: write: user, que você precisará gerar antes de usar a API. Sugerimos manter os webhooks, pois eles são muito mais fáceis de gerenciar.
Configure um aplicativo Slack para aceitar Webhooks
Navegue até o portal da API do Slack e crie um novo aplicativo Slack. Atribua um nome de usuário a este aplicativo, selecione o espaço de trabalho ao qual ele pertencerá e clique em "Criar aplicativo".
Você será levado a uma página inicial onde poderá adicionar recursos ao seu bot. Há muitas coisas legais aqui, como comandos / personalizados e mensagens interativas, mas tudo que você precisa agora é de "Webhooks de entrada". ” Clique neste botão e ligue-o.
Você precisará registrar um novo webhook para o seu aplicativo para enviar mensagens. Clique em "Adicionar novo webhook ao espaço de trabalho". na parte inferior desta tela.
Você será solicitado a autorizar o aplicativo e selecione o canal para as mensagens. Estes podem ser canais públicos ou mensagens diretas com outros usuários; vocês dois verão o bot nos seus DMs e receberão notificações.
Você pode registrar vários webhooks para diferentes canais, mas cada gancho terá um URL diferente.
Copie o URL do seu webhook e abra seu terminal. Cole em:
curl -X POST -H 'Tipo de conteúdo: application / json' --data '{"text": "Olá, mundo!"}' YOUR_WEBHOOK_URL
Substituindo YOUR_WEBHOOK_URL pelo que o Slack deu a você. Pressione Enter e você deverá receber um "Olá, mundo!" notificação e veja uma nova mensagem no canal que você escolheu.
Você pode usar esse comando curl de dentro de um script bash e pode configurar o objeto JSON para enviar os dados que desejar, incluindo as variáveis bash.
Usando mensagens e anexos formatados
A API da mensagem pode fazer mais do que apenas enviar texto simples. Se você quiser que suas mensagens sejam mais estilizadas, precisará adicionar alguns parâmetros extras ao objeto JSON que o curl envia.
Você pode usar descontos e outras formatações simples da mesma maneira que usaria na caixa de mensagens do Slack. Porém, uma coisa a ser observada é que, para vincular a canais e usuários do @ing, você precisará especificar o ID do canal e o ID do usuário em vez dos nomes de texto sem formatação, caso contrário não funcionará.
Para todo o resto, você desejará usar o construtor de kits de blocos do Slack, um editor WYSIWYG para mensagens do Slack que permite criar conteúdo interativo e altamente incorporado e até mesmo criar o JSON para você. Elementos como botões e menus podem ser configurados para enviar solicitações POST para um URL que você especificar, permitindo que os usuários respondam ao aplicativo que está enviando a mensagem.
O construtor de kit de blocos não é totalmente necessário, pois os métodos antigos não estão sendo preteridos. Se você quiser usar recursos como Anexos, poderá usar o antigo Message Builder para criar e visualizar o JSON.
Via: How to Geek
Nenhum comentário