Help us understand the problem. What is going on with this article?

GoでSlackにPostする

More than 1 year has passed since last update.

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するコードを作成しました。

yhidetoshi
インフラエンジニア(SRE挑戦中)AWSと最近はGCP使いはじめました。 GoとPythonでツールつくったりしてます。 個人ページ・ブログは以下のURLです。
https://yhidetoshi.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away