Documentation
¶
Index ¶
- type Channels
- type Client
- func (c *Client) SendAlarm(ctx context.Context, summary string, err error, fields []Field) (*MessageRef, error)
- func (c *Client) SendInfo(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
- func (c *Client) SendPublishLog(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
- func (c *Client) SendWarning(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
- func (c *Client) UpdatePublishLog(ctx context.Context, ref *MessageRef, summary string, fields []Field) (*MessageRef, error)
- type Clienter
- type Colour
- type Emoji
- type Field
- type MessageRef
- type NoopClient
- func (n *NoopClient) SendAlarm(ctx context.Context, summary string, err error, fields []Field) (*MessageRef, error)
- func (n *NoopClient) SendInfo(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
- func (n *NoopClient) SendPublishLog(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
- func (n *NoopClient) SendWarning(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
- func (n *NoopClient) UpdatePublishLog(ctx context.Context, ref *MessageRef, summary string, fields []Field) (*MessageRef, error)
- type SlackConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Channels ¶ added in v1.12.0
type Channels struct {
InfoChannel string `envconfig:"SLACK_INFO_CHANNEL"`
WarningChannel string `envconfig:"SLACK_WARNING_CHANNEL"`
AlarmChannel string `envconfig:"SLACK_ALARM_CHANNEL"`
PublishLogChannel string `envconfig:"SLACK_PUBLISH_LOG_CHANNEL"`
}
Channels holds the Slack channel names for different notification levels
type Client ¶ added in v1.12.0
type Client struct {
// contains filtered or unexported fields
}
Client is a wrapper around the go-slack client
func (*Client) SendAlarm ¶ added in v1.12.0
func (c *Client) SendAlarm(ctx context.Context, summary string, err error, fields []Field) (*MessageRef, error)
SendAlarm sends an error notification to the configured Slack alarm channel.
func (*Client) SendInfo ¶ added in v1.12.0
SendInfo sends an info notification to the configured Slack info channel.
func (*Client) SendPublishLog ¶ added in v1.20.0
func (c *Client) SendPublishLog(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
SendPublishLog sends a publish log notification to the configured Slack publish log channel.
func (*Client) SendWarning ¶ added in v1.12.0
func (c *Client) SendWarning(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
SendWarning sends a warning notification to the configured Slack warning channel.
func (*Client) UpdatePublishLog ¶ added in v1.20.0
func (c *Client) UpdatePublishLog(ctx context.Context, ref *MessageRef, summary string, fields []Field) (*MessageRef, error)
UpdatePublishLog updates a previously sent publish log message. The colour is set to green as we assume that a publish log is only updated when the publish is successful.
type Clienter ¶ added in v1.12.0
type Clienter interface {
SendAlarm(ctx context.Context, summary string, err error, fields []Field) (*MessageRef, error)
SendWarning(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
SendInfo(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
SendPublishLog(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
UpdatePublishLog(ctx context.Context, ref *MessageRef, summary string, fields []Field) (*MessageRef, error)
}
Clienter represents an interface for a generic Client
type Emoji ¶ added in v1.12.0
type Emoji string
type Field ¶ added in v1.20.0
Field represents a key-value pair to be included in the Slack message attachments.
type MessageRef ¶ added in v1.20.0
MessageRef represents a reference to a Slack message. It contains the channel ID and timestamp of the message, which can be used for updating the message later.
type NoopClient ¶ added in v1.12.0
type NoopClient struct{}
NoopClient is a Client that does nothing, used when Slack notifications are disabled
func (*NoopClient) SendAlarm ¶ added in v1.12.0
func (n *NoopClient) SendAlarm(ctx context.Context, summary string, err error, fields []Field) (*MessageRef, error)
func (*NoopClient) SendInfo ¶ added in v1.12.0
func (n *NoopClient) SendInfo(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
func (*NoopClient) SendPublishLog ¶ added in v1.20.0
func (n *NoopClient) SendPublishLog(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
func (*NoopClient) SendWarning ¶ added in v1.12.0
func (n *NoopClient) SendWarning(ctx context.Context, summary string, fields []Field) (*MessageRef, error)
func (*NoopClient) UpdatePublishLog ¶ added in v1.20.0
func (n *NoopClient) UpdatePublishLog(ctx context.Context, ref *MessageRef, summary string, fields []Field) (*MessageRef, error)
type SlackConfig ¶
type SlackConfig struct {
Channels Channels
}
SlackConfig holds configuration for sending Slack notifications