他のアプリからSlackへメッセージを投稿したい。(俗にいうChatOps)
調べてみると、Incoming Webhookを作成したらできるそう
今回はWebhookを作成し、curlコマンドでメッセージを投稿できるようにしていきます!
応用がいろいろ効くので本記事を参考にやってみてください!
前提
Slackに登録済みの方を想定しています。
登録されていない方はこちらからご登録ください。
Webhookの作成
![](https://hisuiblog.com/wp-content/uploads/cocoon-resources/blog-card-cache/3a99d7bb94b8f2c18115736917d7fc77.png)
Login
Log in to Slack, or try for free with your teammates. All it takes is an email address to get started.
↑にアクセスします
Webhookを作成したいチャンネルを選択します
すでにあるチャンネルを選択する場合はチャンネルを選択をクリックします
新しくチャンネルを作成する場合は「新しいチャンネルを作成する」をクリックします
チャンネル名(例として example-webhook とします)を入力して「次へ」
パブリックかプライベートか選択します。今回はパブリックとしておきます
「作成」をクリックします
チャンネルを選択したら「Incoming Webhookインテグレーションの追加」をクリック
Webhookの作成が完了したら詳細画面に遷移します
そこにWebhook URLやcurlコマンドの例が載っています
チャンネルやメッセージを投稿するアカウント名やアイコンなども変更できます
メッセージを投稿してみる
先ほど確認したcurlコマンドの例をうってみます
1 2 3 4 5 6 7 8 |
// チャンネル名とWebhook URLは自分のものに書き換えて下さい curl -X POST \ --data-urlencode "payload={\ \"channel\": \"#example-webhook\",\ \"username\": \"webhookbot\",\ \"text\": \"これは webhookbot という名のボットから #example-webhook に投稿されています。\",\ \"icon_emoji\": \":ghost:\"\ }" https://hooks.slack.com/services/×××××××××××××××××××××××××××××××× |
成功すると下記のようなメッセージが投稿されます
Webhook URLを確認したくなったら。。。
![](https://hisuiblog.com/wp-content/uploads/cocoon-resources/blog-card-cache/69049dcb87edede35793b8286a91e75d.jpg)
There's been a glitch…
Slack is where work flows. It's where the people you need, the information you share, and the tools you use come together to get things done.
↑に作成したWebhookの一覧が見れるのでそこから設定編集画面に行けば確認できます
ペンのマークを押せば設定編集画面に遷移できます
参考記事
Incoming Webhooks | Slack SDK for Java
Slack SDK for Java は Java らしいアプローチで全ての Slack プラットフォームの公開機能をサポートする公式 SDK です。この SDK は全て Java で書かれており、開発者はこの SDK を Java だけでなく Kotlin、Groovy、Scala といった JVM 言語でも問題なく...
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9U2xhY2slRTMlODElQUVXZWJob29rJTIwVVJMJUU1JThGJTk2JUU1JUJFJTk3JUU2JTg5JThCJUU5JUEwJTg2JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02ZGVhNDA0M2MyMTIxNzQ2YWEyNTQyMmMwMDM4ZjM2ZQ&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdm1taHlwZXJ2aXNvciZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YWIwOTU5NzhmM2I5MTc0MWI2NDYyMTM2NmMyZDhjOTk&blend-x=142&blend-y=491&blend-mode=normal&s=9a58a25f04c4f3f151a7c4e692256119)
SlackのWebhook URL取得手順 - Qiita
SlackのWebhook URLを取得するまでの手順を示す。最終的にやりたいことChatにWebサービスの結果を通知するChatOps的なことをしたい。通知先のChatツールとしてSlack…
コメント