Documentation ¶
Overview ¶
Package notifiers holds all the notifiers for Statping, which also includes user created notifiers that have been accepted in a Push Request. Read the wiki to see a full example of a notifier with all events, visit Statping's notifier example code: https://github.com/hunterlong/statping/wiki/Notifier-Example
This package shouldn't contain any exports, to see how notifiers work visit the core/notifier package at: https://godoc.org/github.com/hunterlong/statping/core/notifier and learn how to create your own custom notifier.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Command = &commandLine{¬ifier.Notification{ Method: "Command", Title: "Shell Command", Description: "Shell Command allows you to run a customized shell/bash Command on the local machine it's running on.", Author: "Hunter Long", AuthorUrl: "https://github.com/hunterlong", Delay: time.Duration(1 * time.Second), Icon: "fas fa-terminal", Host: "/bin/bash", Form: []notifier.NotificationForm{{ Type: "text", Title: "Shell or Bash", Placeholder: "/bin/bash", DbField: "host", SmallText: "You can use '/bin/sh', '/bin/bash' or even an absolute path for an application.", }, { Type: "text", Title: "Command to Run on OnSuccess", Placeholder: "curl google.com", DbField: "var1", SmallText: "This Command will run every time a service is receiving a Successful event.", }, { Type: "text", Title: "Command to Run on OnFailure", Placeholder: "curl offline.com", DbField: "var2", SmallText: "This Command will run every time a service is receiving a Failing event.", }}}, }
View Source
var Discorder = &discord{¬ifier.Notification{ Method: "discord", Title: "discord", Description: "Send notifications to your discord channel using discord webhooks. Insert your discord channel Webhook URL to receive notifications. Based on the <a href=\"https://discordapp.com/developers/docs/resources/Webhook\">discord webhooker API</a>.", Author: "Hunter Long", AuthorUrl: "https://github.com/hunterlong", Delay: time.Duration(5 * time.Second), Host: "https://discordapp.com/api/webhooks/****/*****", Icon: "fab fa-discord", Form: []notifier.NotificationForm{{ Type: "text", Title: "discord webhooker URL", Placeholder: "Insert your Webhook URL here", DbField: "host", }}}, }
View Source
var Emailer = &email{¬ifier.Notification{ Method: "email", Title: "email", Description: "Send emails via SMTP when services are online or offline.", Author: "Hunter Long", AuthorUrl: "https://github.com/hunterlong", Icon: "far fa-envelope", Form: []notifier.NotificationForm{{ Type: "text", Title: "SMTP Host", Placeholder: "Insert your SMTP Host here.", DbField: "Host", }, { Type: "text", Title: "SMTP Username", Placeholder: "Insert your SMTP Username here.", DbField: "Username", }, { Type: "password", Title: "SMTP Password", Placeholder: "Insert your SMTP Password here.", DbField: "Password", }, { Type: "number", Title: "SMTP Port", Placeholder: "Insert your SMTP Port here.", DbField: "Port", }, { Type: "text", Title: "Outgoing Email Address", Placeholder: "outgoing@email.com", DbField: "Var1", }, { Type: "email", Title: "Send Alerts To", Placeholder: "sendto@email.com", DbField: "Var2", }, { Type: "text", Title: "Disable TLS/SSL", Placeholder: "", SmallText: "To Disable TLS/SSL insert 'true'", DbField: "api_key", }}, }}
View Source
var LineNotify = &lineNotifier{¬ifier.Notification{ Method: lineNotifyMethod, Title: "LINE Notify", Description: "LINE Notify will send notifications to your LINE Notify account when services are offline or online. Based on the <a href=\"https://notify-bot.line.me/doc/en/\">LINE Notify API</a>.", Author: "Kanin Peanviriyakulkit", AuthorUrl: "https://github.com/dogrocker", Icon: "far fa-bell", Form: []notifier.NotificationForm{{ Type: "text", Title: "Access Token", Placeholder: "Insert your Line Notify Access Token here.", DbField: "api_secret", }}}, }
View Source
var Mobile = &mobilePush{¬ifier.Notification{ Method: "mobile", Title: "Mobile Notifications", Description: `Receive push notifications on your Mobile device using the Statping App. You can scan the Authentication QR Code found in Settings to get the Mobile app setup in seconds. <p align="center"><a href="https://play.google.com/store/apps/details?id=com.statping"><img src="https://img.cjx.io/google-play.svg"></a><a href="https://itunes.apple.com/us/app/apple-store/id1445513219"><img src="https://img.cjx.io/app-store-badge.svg"></a></p>`, Author: "Hunter Long", AuthorUrl: "https://github.com/hunterlong", Delay: time.Duration(5 * time.Second), Icon: "fas fa-mobile-alt", Form: []notifier.NotificationForm{{ Type: "text", Title: "Device Identifiers", Placeholder: "A list of your Mobile device push notification ID's.", DbField: "var1", IsHidden: true, }, { Type: "number", Title: "Array of device numbers", Placeholder: "1 for iphone 2 for android", DbField: "var2", IsHidden: true, }}}, }
View Source
var Slacker = &slack{¬ifier.Notification{ Method: slackMethod, Title: "slack", Description: "Send notifications to your slack channel when a service is offline. Insert your Incoming webhooker URL for your channel to receive notifications. Based on the <a href=\"https://api.slack.com/incoming-webhooks\">slack API</a>.", Author: "Hunter Long", AuthorUrl: "https://github.com/hunterlong", Delay: time.Duration(10 * time.Second), Host: "https://webhooksurl.slack.com/***", Icon: "fab fa-slack", Form: []notifier.NotificationForm{{ Type: "text", Title: "Incoming webhooker Url", Placeholder: "Insert your slack Webhook URL here.", SmallText: "Incoming webhooker URL from <a href=\"https://api.slack.com/apps\" target=\"_blank\">slack Apps</a>", DbField: "Host", Required: true, }}}, }
View Source
var Telegram = &telegram{¬ifier.Notification{ Method: "telegram", Title: "Telegram", Description: "Receive notifications on your Telegram channel when a service has an issue. You must get a Telegram API token from the /botfather. Review the <a target=\"_blank\" href=\"http://techthoughts.info/how-to-create-a-telegram-bot-and-send-messages-via-api\">Telegram API Tutorial</a> to learn how to generate a new API Token.", Author: "Hunter Long", AuthorUrl: "https://github.com/hunterlong", Icon: "fab fa-telegram-plane", Delay: time.Duration(5 * time.Second), Form: []notifier.NotificationForm{{ Type: "text", Title: "Telegram API Token", Placeholder: "383810182:EEx829dtCeufeQYXG7CUdiQopqdmmxBPO7-s", SmallText: "Enter the API Token given to you from the /botfather chat.", DbField: "api_secret", Required: true, }, { Type: "text", Title: "Channel or User ID", Placeholder: "789325392", SmallText: "Insert your Telegram Channel ID or User ID here.", DbField: "Var1", Required: true, }}}, }
View Source
var Twilio = &twilio{¬ifier.Notification{ Method: "twilio", Title: "Twilio", Description: "Receive SMS text messages directly to your cellphone when a service is offline. You can use a Twilio test account with limits. This notifier uses the <a href=\"https://www.twilio.com/docs/usage/api\">Twilio API</a>.", Author: "Hunter Long", AuthorUrl: "https://github.com/hunterlong", Icon: "far fa-comment-alt", Delay: time.Duration(10 * time.Second), Form: []notifier.NotificationForm{{ Type: "text", Title: "Account SID", Placeholder: "Insert your Twilio Account SID", DbField: "api_key", Required: true, }, { Type: "text", Title: "Account Token", Placeholder: "Insert your Twilio Account Token", DbField: "api_secret", Required: true, }, { Type: "text", Title: "SMS to Phone Number", Placeholder: "18555555555", DbField: "Var1", Required: true, }, { Type: "text", Title: "From Phone Number", Placeholder: "18555555555", DbField: "Var2", Required: true, }}}, }
View Source
var Webhook = &webhooker{¬ifier.Notification{ Method: webhookMethod, Title: "HTTP webhooker", Description: "Send a custom HTTP request to a specific URL with your own body, headers, and parameters.", Author: "Hunter Long", AuthorUrl: "https://github.com/hunterlong", Icon: "fas fa-code-branch", Delay: time.Duration(1 * time.Second), Form: []notifier.NotificationForm{{ Type: "text", Title: "HTTP Endpoint", Placeholder: "http://webhookurl.com/JW2MCP4SKQP", SmallText: "Insert the URL for your HTTP Requests.", DbField: "Host", Required: true, }, { Type: "text", Title: "HTTP Method", Placeholder: "POST", SmallText: "Choose a HTTP method for example: GET, POST, DELETE, or PATCH.", DbField: "Var1", Required: true, }, { Type: "textarea", Title: "HTTP Body", Placeholder: `{"service_id": "%s.Id", "service_name": "%s.Name"}`, SmallText: "Optional HTTP body for a POST request. You can insert variables into your body request.<br>%service.Id, %service.Name, %service.Online<br>%failure.Issue", DbField: "Var2", }, { Type: "text", Title: "Content Type", Placeholder: `application/json`, SmallText: "Optional content type for example: application/json or text/plain", DbField: "api_key", }, { Type: "text", Title: "Header", Placeholder: "Authorization=Token12345", SmallText: "Optional Headers for request use format: KEY=Value,Key=Value", DbField: "api_secret", }, }}}
Functions ¶
This section is empty.
Types ¶
type PushNotification ¶ added in v0.80.2
type PushNotification struct {
Array []*pushArray `json:"notifications"`
}
Click to show internal directories.
Click to hide internal directories.