Outgoing webhooks

Outgoing Webhooks sends a post data from Slack via POST when there is a specific post, and sends a response in json in a specific format to that post.

ん?outgoing webhookを検索します。
ありました。

token=hoge
team_id=T0001
team_domain=例

channel_id=C2147483705
channel_name=テスト

timestamp=1355517523.000005
user_id=U1234
user_name=スティーブ

text=googlebot: 身軽なツバメの対気速度はどのくらい?

trigger_word=googlebot:

返信中

{
	"text": "アフリカ系あるいはヨーロッパ系?"
}

Channel :投稿を取得するチャンネル
URL(s) :POST送信先になるURL
Customize Name :レスポンスを返す際の名前
Customize Icon :レスポンスを返す際のアイコン

When a message that meets the conditions is posted, an HTTP request is thrown to the URL(web service) set in advance.


引き金となるワードがあると、特定のURLにリクエストを送ることができるということですね。なるほどー

slackの開発を行う

チャンネルを作っていきます。

チャンネルができました。

web hook用のURLを取得する為に、以下のURLを叩く
https://slack.com/services/new/incoming-webhook

ほうほう、簡単に取得できそうです。
Incoming Webhooks are a simple way to post messages from external sources into Slack. They make use of normal HTTP requests with a JSON payload, which includes the message and a few other optional details described later.
Message Attachments can also be used in Incoming Webhooks to display richly-formatted messages that stand out from regular chat messages.

curl -X POST --data-urlencode "payload={\"channel\": \"#general\", \"username\": \"webhookbot\", \"text\": \"これは webhookbot という名のボットから #general に投稿されています。\", \"icon_emoji\": \":ghost:\"}" https://hooks.slack.com/services/hoge/hoge/hogehoge

vagrantからpostします。
[vagrant@localhost ~]$ curl -X POST –data-urlencode “payload={\”channel\”: \”#general\”, \”username\”: \”webhookbot\”, \”text\”: \”これは webhookbot という名のボットから #general に投稿されています。\”, \”icon_emoji\”: \”:ghost:\”}” https://hooks.slack.com/services/hoge/hoge/hogehoge
ok

通知されました!Wow!素晴らしい!