Slackのtokenを発行する

Slackにプログラムから投稿するときにはtokenが必要になります
レイアウトが変わったりして、発行場所がわからなかったのでメモ

https://api.slack.com/web
のAuthenticationにありました

slack-token

作ってなければCreate Tokenとかボタンが出てきて発行できます

New Relicの通知をSlackで受け取る

通知は全部Slackに..を進めてます
New Relicの通知をSlackにしてみました

まずはSlackにログイン
Configure IntegrationからNew Relicを検索

slack-newrelic

表示して、チャンネルを選択

slack-newrelic2

そしたらURLが用意されるので控えます

slack-newrelic3

Saveしておいて次は、New Relicにログイン
Servers > Alerts、Server policiesをクリック、Editをクリック

newrelic-slack

Alert Channelsタブを開いてCreate channelsをクリック

newrelic-slack2

ChannelのCreate channelでWebhookを選択

newrelic-slack3

SlackでもらったURLをいれて保存

newrelic-slack4

あとは、Server Alert policiesとかでAlert channelにWebhookを追加すればできあがり

curlコマンドに変数を渡す

curlコマンドでslackに通知する
でcurlを使ってslackに通知した際、メッセージをシェルスクリプトで用意して送ってみました

シェルスクリプトはこんな感じ

error="何かしらのエラー"
curl_content='payload={"channel": "#channel", "username": "webhooker", "text": "'
curl_content="${curl_content}${error}"
curl_content="${curl_content}\"}"
curl="curl -X POST --data-urlencode `echo -e "'${curl_content}'"` https://hooks.slack.com/services/XXXXXXX/XXXXXXX/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
eval $curl

error変数にメッセージをセット、
jsonを組み立てて、
curlコマンドごと変数にセット、
evalで実行
な感じです

シェルスクリプトレベルが低すぎてこんなんになった
もっとうまくかけるはず..

curlコマンドでslackに通知する

シェルスクリプトとかからcurlコマンドでslackへ通知してみたのでメモ

まずはslackでConfigure Integrationを開きます
Incoming WebHooksを見ます

slack-integrations

チャンネルを選んで

slack-webhooks

アドレスが手にはいります
あとはこれを使ってcurlコマンドを打てばOK

$ curl -X POST --data-urlencode 'payload={"channel": "#channel", "username": "webhookbot", "text": "サンプル"}' https://hooks.slack.com/services/XXXXXXX/XXXXXXX/xxxxxxxxxxxxxxxxxxx

Postでjson渡してもいいそうです