# README
notifications
import "github.com/greenbone/opensight-golang-libraries/pkg/notifications"
Package Notifications provides a client to communicate with the OpenSight Notification Service github.com/greenbone/opensight\-notification\-service
Index
type Client
Client can be used to send notifications
type Client struct {
// contains filtered or unexported fields
}
func NewClient
func NewClient(httpClient *http.Client, config Config) *Client
NewClient returns a new Client with the notification service address (host:port) set. As httpClient you can use e.g. [http.DefaultClient].
func (*Client) CreateNotification
func (c *Client) CreateNotification(ctx context.Context, notification Notification) error
CreateNotification sends a notification to the notification service. The request is retried up to the configured number of retries with an exponential backoff. So it can take some time until the functions returns.
type Config
Config configures the notification service client
type Config struct {
Address string
MaxRetries int
RetryWaitMin time.Duration
RetryWaitMax time.Duration
}
type Level
Level describes the severity of the notification
type Level string
const (
LevelInfo Level = "info"
LevelWarning Level = "warning"
LevelError Level = "error"
LevelCritical Level = "critical"
)
type Notification
type Notification struct {
// omit property `Id` here, as it is read only
Origin string
OriginUri string // can be used to provide a link to the origin
Timestamp time.Time
Title string // can also be seen as the 'type'
Detail string
Level Level
CustomFields map[string]any // can contain arbitrary structured information about the notification
}
Generated by gomarkdoc
# Functions
NewClient returns a new [Client] with the notification service address (host:port) set.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
Client can be used to send notifications.
Config configures the notification service client.
No description provided by the author
# Type aliases
Level describes the severity of the notification.