notification

package
v0.0.0-...-418c65a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2019 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Collection = "notifications"
)

Variables

This section is empty.

Functions

func BulkInserter

func BulkInserter(ctx context.Context) (adb.BufferedWriter, error)

func InsertMany

func InsertMany(items ...Notification) error

Types

type Notification

type Notification struct {
	ID         string           `bson:"_id"`
	Subscriber event.Subscriber `bson:"subscriber"`
	Payload    interface{}      `bson:"payload"`

	SentAt   time.Time            `bson:"sent_at,omitempty"`
	Error    string               `bson:"error,omitempty"`
	Metadata NotificationMetadata `bson:"metadata,omitempty"`
}

func Find

func Find(id string) (*Notification, error)

func FindByEventID

func FindByEventID(id string) ([]Notification, error)

func New

func New(eventID, trigger string, subscriber *event.Subscriber, payload interface{}) (*Notification, error)

New returns a new Notification, with a correctly initialised ID

func (*Notification) Composer

func (n *Notification) Composer() (message.Composer, error)

Composer builds a grip/message.Composer for the notification. Composer is guaranteed to be non-nil if error is nil, but the composer may not be loggable

func (*Notification) MarkError

func (n *Notification) MarkError(sendErr error) error

func (*Notification) MarkSent

func (n *Notification) MarkSent() error

func (*Notification) SenderKey

func (n *Notification) SenderKey() (evergreen.SenderKey, error)

SenderKey returns an evergreen.SenderKey to get a grip sender for this notification from the evergreen environment

func (*Notification) SetBSON

func (n *Notification) SetBSON(raw mgobson.Raw) error

func (*Notification) SetTaskMetadata

func (n *Notification) SetTaskMetadata(ID string, execution int)

func (*Notification) UnmarshalBSON

func (d *Notification) UnmarshalBSON(in []byte) error

type NotificationMetadata

type NotificationMetadata struct {
	TaskID        string `bson:"task_id,omitempty"`
	TaskExecution int    `bson:"task_execution,omitempty"`
}

type NotificationStats

type NotificationStats struct {
	GithubPullRequest int `json:"github_pull_request" bson:"github_pull_request" yaml:"github_pull_request"`
	JIRAIssue         int `json:"jira_issue" bson:"jira_issue" yaml:"jira_issue"`
	JIRAComment       int `json:"jira_comment" bson:"jira_comment" yaml:"jira_comment"`
	EvergreenWebhook  int `json:"evergreen_webhook" bson:"evergreen_webhook" yaml:"evergreen_webhook"`
	Email             int `json:"email" bson:"email" yaml:"email"`
	Slack             int `json:"slack" bson:"slack" yaml:"slack"`
	GithubMerge       int `json:"github_merge" bson:"github_merge" yaml:"github_merge"`
}

func CollectUnsentNotificationStats

func CollectUnsentNotificationStats() (*NotificationStats, error)

type SlackPayload

type SlackPayload struct {
	Body        string                    `bson:"body"`
	Attachments []message.SlackAttachment `bson:"attachments"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL