Go

GoでSlackにPostする

SlackにGo言語でMessageをPostするコードを書いたので備忘録です。

Slackにエラーログを送ったり、アラート通知やリソース情報通知などに活用する。


SlackPost.go

package main

import (
"github.com/ashwanthkumar/slack-go-webhook"
"os"
)

const (
WEBHOOKURL = "https://hooks.slack.com/services/XXXX"
CHANNEL = "dev"
USERNAME = "GoBot"
)

func main() {
PostSlack("HelloWorld!!")
}

func PostSlack(msg string) {
field1 := slack.Field{Title: "Message", Value: msg}
field2 := slack.Field{Title: "AnythingKey", Value: "AnythingValue"}

attachment := slack.Attachment{}
attachment.AddField(field1).AddField(field2)
color := "good"
attachment.Color = &color
payload := slack.Payload{
Username: USERNAME,
Channel: CHANNEL,
Attachments: []slack.Attachment{attachment},
}
err := slack.Send(WEBHOOKURL, "", payload)
if err != nil {
os.Exit(1)
}
}



Slackへの通知結果

GoSlackPost.png


まとめ

Go言語を使って、SlackにPostするコードを作成しました。