func SendMessage()

in src/statequery/message.go [41:64]


func SendMessage(hooks map[string]string, message string) error {
	for service, url := range hooks {
		// Skip if webhook URL is not configured
		if url == "" {
			log.Printf("webhook for %s not configured, skipping...\n", service)
			continue
		}
		log.Printf("publishing message to %s\n", service)

		// Serialize message into payload format accepted by Slack and Google Chat
		payload := map[string]string{"text": message}
		data, err := json.Marshal(payload)
		if err != nil {
			return err
		}

		// POST message to chat API.
		_, err = http.Post(url, "application/json", bytes.NewBuffer(data))
		if err != nil {
			log.Printf("failed to push message to %s: %v\n", service, err)
		}
	}
	return nil
}