# Functions
AddWebhook adds a Webhook and its Triggers to the DB.
Deinit closes a shipper.
DeleteWebhook deletes a Webhook and its Triggers from the DB.
GetWebhook returns a single Webhooks from the DB.
Init creates a shipper singleton.
New creates a new webhook manager.
ReportExperimentStateChanged adds webhook events to the queue.
ScanLogs sends webhooks for task logs.
SetDefault sets the default webhook manager singleton.
TriggerFromProto returns a Trigger from a proto definition.
TriggersFromProto returns a slice of model Triggers from a proto definition.
TriggerTypeFromProto returns a TriggerType from a proto.
UpdateWebhook updates a Webhook in the DB.
WebhookFromProto returns a model Webhook from a proto definition.
WebhookModeFromProto returns a WebhookMode from a proto.
WebhookTypeFromProto returns a WebhookType from a proto.
# Constants
TriggerTypeCustom represents a custom trigger.
TriggerTypeMetricThresholdExceeded represents a threshold for a training metric value.
TriggerTypeStateChange represents a change in experiment state.
TriggerTypeTaskLog represents a trigger for a task logs.
WebhookModeSpecific represents the webhook will only be triggered by experiment with matching configuration in the same workspace as the web hook.
WebhookModeWorkspace represents the webhook will be triggered by all experiment in the workspace.
WebhookTypeDefault represents a default webhook.
WebhookTypeSlack represents a slack webhook.
# Variables
AuthZProvider is the authz registry for experiments.
# Structs
Condition represents a trigger condition.
CustomTriggerData is the data for custom trigger.
Event corresponds to a row in the "webhook_events" DB table.
EventData represents the event_data for a webhook event.
EventPayload respresents a webhook event.
ExperimentPayload is the webhook request representation of an experiment.
SlackAttachment corresponds to an Attachment Slack Block element.
SlackBlock corresponds to a Slack Block element.
SlackField corresponds to a field in a Slack Block element.
SlackMessageBody corresponds to an entire message as a Slack Block.
TaskLogPayload is the webhook request representation of a trigger of a task log.
Trigger corresponds to a row in the "webhook_triggers" DB table.
Webhook corresponds to a row in the "webhooks" DB table.
WebhookAuthZBasic is basic OSS controls.
WebhookAuthZPermissive is the permission implementation.
WebhookAuthZRBAC is RBAC webhook access controls.
WebhookManager manages webhooks.
WebhooksAPIServer is an embedded api server struct.
# Interfaces
WebhookAuthZ describes authz methods for experiments.
# Type aliases
TriggerID is the type for Trigger IDs.
Triggers is a slice of Trigger objects—primarily useful for its methods.
TriggerType is type for the TriggerType enum.
WebhookEventID is the type for Trigger IDs.
WebhookID is the type for Webhook IDs.
WebhookMode is mode for the WebhookMode enum.
Webhooks is a slice of Webhook objects.
WebhookType is type for the WebhookType enum.