Documentation
¶
Index ¶
- func NewConsoleService(stdout io.Writer) *consoleService
- type BasicAuth
- type Destination
- type Destinations
- type EmailNotification
- type EmailOptions
- type GitHubNotification
- type GitHubOptions
- type GitHubStatus
- type GrafanaAnnotation
- type GrafanaOptions
- type Header
- type MattermostNotification
- type MattermostOptions
- type Notification
- type NotificationService
- func NewEmailService(opts EmailOptions) NotificationService
- func NewGitHubService(opts GitHubOptions) (NotificationService, error)
- func NewGrafanaService(opts GrafanaOptions) NotificationService
- func NewMattermostService(opts MattermostOptions) NotificationService
- func NewOpsgenieService(opts OpsgenieOptions) NotificationService
- func NewRocketChatService(opts RocketChatOptions) NotificationService
- func NewService(serviceType string, optsData []byte) (NotificationService, error)
- func NewSlackService(opts SlackOptions) NotificationService
- func NewTeamsService(opts TeamsOptions) NotificationService
- func NewTelegramService(opts TelegramOptions) NotificationService
- func NewWebhookService(opts WebhookOptions) NotificationService
- type OpsgenieNotification
- type OpsgenieOptions
- type RocketChatNotification
- type RocketChatOptions
- type SlackNotification
- type SlackOptions
- type TeamsNotification
- type TeamsOptions
- type TelegramOptions
- type Templater
- type TemplaterSource
- type WebhookNotification
- type WebhookNotifications
- type WebhookOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewConsoleService ¶
Types ¶
type Destination ¶
Destination holds notification destination details
type Destinations ¶
type Destinations map[string][]Destination
Destinations holds notification destinations group by trigger
func (Destinations) Dedup ¶
func (s Destinations) Dedup() Destinations
func (Destinations) Merge ¶
func (s Destinations) Merge(other Destinations)
type EmailNotification ¶
type EmailNotification struct {
Subject string `json:"subject,omitempty"`
Body string `json:"body,omitempty"`
}
func (*EmailNotification) GetTemplater ¶
func (n *EmailNotification) GetTemplater(name string, f texttemplate.FuncMap) (Templater, error)
type EmailOptions ¶
type GitHubNotification ¶
type GitHubNotification struct {
Status *GitHubStatus `json:"status,omitempty"`
// contains filtered or unexported fields
}
func (*GitHubNotification) GetTemplater ¶
func (g *GitHubNotification) GetTemplater(name string, f texttemplate.FuncMap) (Templater, error)
type GitHubOptions ¶
type GitHubStatus ¶
type GrafanaAnnotation ¶
type GrafanaOptions ¶
type MattermostNotification ¶
type MattermostNotification struct {
Attachments string `json:"attachments,omitempty"`
}
func (*MattermostNotification) GetTemplater ¶
func (n *MattermostNotification) GetTemplater(name string, f texttemplate.FuncMap) (Templater, error)
type MattermostOptions ¶
type Notification ¶
type Notification struct {
Message string `json:"message,omitempty"`
Email *EmailNotification `json:"email,omitempty"`
Slack *SlackNotification `json:"slack,omitempty"`
Mattermost *MattermostNotification `json:"mattermost,omitempty"`
RocketChat *RocketChatNotification `json:"rocketchat,omitempty"`
Teams *TeamsNotification `json:"teams,omitempty"`
Webhook WebhookNotifications `json:"webhook,omitempty"`
Opsgenie *OpsgenieNotification `json:"opsgenie,omitempty"`
GitHub *GitHubNotification `json:"github,omitempty"`
}
func (*Notification) GetTemplater ¶
func (n *Notification) GetTemplater(name string, f texttemplate.FuncMap) (Templater, error)
func (*Notification) Preview ¶
func (n *Notification) Preview() string
type NotificationService ¶
type NotificationService interface {
Send(notification Notification, dest Destination) error
}
NotificationService defines notification service interface
func NewEmailService ¶
func NewEmailService(opts EmailOptions) NotificationService
func NewGitHubService ¶
func NewGitHubService(opts GitHubOptions) (NotificationService, error)
func NewGrafanaService ¶
func NewGrafanaService(opts GrafanaOptions) NotificationService
func NewMattermostService ¶
func NewMattermostService(opts MattermostOptions) NotificationService
func NewOpsgenieService ¶
func NewOpsgenieService(opts OpsgenieOptions) NotificationService
func NewRocketChatService ¶
func NewRocketChatService(opts RocketChatOptions) NotificationService
func NewService ¶
func NewService(serviceType string, optsData []byte) (NotificationService, error)
func NewSlackService ¶
func NewSlackService(opts SlackOptions) NotificationService
func NewTeamsService ¶
func NewTeamsService(opts TeamsOptions) NotificationService
func NewTelegramService ¶
func NewTelegramService(opts TelegramOptions) NotificationService
func NewWebhookService ¶
func NewWebhookService(opts WebhookOptions) NotificationService
type OpsgenieNotification ¶
type OpsgenieNotification struct {
Description string `json:"description"`
}
func (*OpsgenieNotification) GetTemplater ¶
func (n *OpsgenieNotification) GetTemplater(name string, f texttemplate.FuncMap) (Templater, error)
type OpsgenieOptions ¶
type RocketChatNotification ¶
type RocketChatNotification struct {
Attachments string `json:"attachments,omitempty"`
}
func (*RocketChatNotification) GetTemplater ¶
func (n *RocketChatNotification) GetTemplater(name string, f texttemplate.FuncMap) (Templater, error)
type RocketChatOptions ¶
type SlackNotification ¶
type SlackNotification struct {
Attachments string `json:"attachments,omitempty"`
Blocks string `json:"blocks,omitempty"`
}
func (*SlackNotification) GetTemplater ¶
func (n *SlackNotification) GetTemplater(name string, f texttemplate.FuncMap) (Templater, error)
type SlackOptions ¶
type TeamsNotification ¶
type TeamsNotification struct {
Template string `json:"template,omitempty"`
Title string `json:"title,omitempty"`
Summary string `json:"summary,omitempty"`
Text string `json:"text,omitempty"`
ThemeColor string `json:"themeColor,omitempty"`
Facts string `json:"facts,omitempty"`
Sections string `json:"sections,omitempty"`
PotentialAction string `json:"potentialAction,omitempty"`
}
func (*TeamsNotification) GetTemplater ¶
func (n *TeamsNotification) GetTemplater(name string, f texttemplate.FuncMap) (Templater, error)
type TeamsOptions ¶
type TelegramOptions ¶
type TelegramOptions struct {
Token string `json:"token"`
}
type Templater ¶
type Templater func(notification *Notification, vars map[string]interface{}) error
type TemplaterSource ¶
type TemplaterSource interface {
GetTemplater(name string, f texttemplate.FuncMap) (Templater, error)
}
type WebhookNotification ¶
type WebhookNotifications ¶
type WebhookNotifications map[string]WebhookNotification
func (WebhookNotifications) GetTemplater ¶
func (n WebhookNotifications) GetTemplater(name string, f texttemplate.FuncMap) (Templater, error)
type WebhookOptions ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.