Documentation ¶
Index ¶
- func NewIncomingWebhookServer(log logrus.FieldLogger, cfg *config.Config, dispatcher *Dispatcher, ...) *httpx.Server
- type ActionProvider
- type AnalyticsReporter
- type Dispatcher
- type ExternalRequestDispatch
- type IncomingWebhookData
- type PluginDispatch
- type Scheduler
- type StartedSource
- type StartedSources
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewIncomingWebhookServer ¶ added in v1.4.0
func NewIncomingWebhookServer(log logrus.FieldLogger, cfg *config.Config, dispatcher *Dispatcher, startedSources map[string]StartedSources) *httpx.Server
NewIncomingWebhookServer creates a new HTTP server for incoming webhooks.
Types ¶
type ActionProvider ¶ added in v1.0.0
type ActionProvider interface { RenderedActions(data any, sourceBindings []string) ([]action.Action, error) ExecuteAction(ctx context.Context, action action.Action) interactive.CoreMessage }
ActionProvider defines a provider that is responsible for automated actions.
type AnalyticsReporter ¶ added in v1.0.0
type AnalyticsReporter interface { // ReportHandledEventSuccess reports a successfully handled event using a given integration type, communication platform, and plugin. ReportHandledEventSuccess(event analytics.ReportEventInput) error // ReportHandledEventError reports a failure while handling event using a given integration type, communication platform, and plugin. ReportHandledEventError(event analytics.ReportEventInput, err error) error // ReportFatalError reports a fatal app error. ReportFatalError(err error) error // Close cleans up the reporter resources. Close() error }
AnalyticsReporter defines a reporter that collects analytics data.
type Dispatcher ¶
type Dispatcher struct {
// contains filtered or unexported fields
}
Dispatcher provides functionality to starts a given plugin, watches for incoming events and calling all notifiers to dispatch received event.
func NewDispatcher ¶
func NewDispatcher(log logrus.FieldLogger, clusterName string, notifiers map[string]bot.Bot, sinkNotifiers []notifier.Sink, manager *plugin.Manager, actionProvider ActionProvider, reporter AnalyticsReporter, auditReporter audit.AuditReporter, restCfg *rest.Config) *Dispatcher
NewDispatcher create a new Dispatcher instance.
func (*Dispatcher) Dispatch ¶
func (d *Dispatcher) Dispatch(dispatch PluginDispatch) error
Dispatch starts a given plugin, watches for incoming events and calling all notifiers to dispatch received event.
func (*Dispatcher) DispatchExternalRequest ¶ added in v1.4.0
func (d *Dispatcher) DispatchExternalRequest(dispatch ExternalRequestDispatch) error
DispatchExternalRequest dispatches a single message for a given plugin.
type ExternalRequestDispatch ¶ added in v1.4.0
type ExternalRequestDispatch struct { PluginDispatch // contains filtered or unexported fields }
ExternalRequestDispatch is a wrapper for PluginDispatch that holds the payload for external request.
type IncomingWebhookData ¶ added in v1.4.0
type IncomingWebhookData struct {
// contains filtered or unexported fields
}
IncomingWebhookData holds information about incoming webhook.
func (IncomingWebhookData) FullURLForSource ¶ added in v1.4.0
func (w IncomingWebhookData) FullURLForSource(sourceName string) string
type PluginDispatch ¶ added in v1.0.0
type PluginDispatch struct {
// contains filtered or unexported fields
}
PluginDispatch holds information about source plugin.
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
Scheduler analyzes the provided configuration and based on that schedules plugin sources.
func NewScheduler ¶
func NewScheduler(ctx context.Context, log logrus.FieldLogger, cfg *config.Config, dispatcher pluginDispatcher, schedulerChan chan string) *Scheduler
NewScheduler create a new Scheduler instance.
func (*Scheduler) StartedSourcePlugins ¶ added in v1.4.0
func (d *Scheduler) StartedSourcePlugins() map[string]StartedSources
type StartedSource ¶ added in v1.4.0
type StartedSource struct { SourceDisplayName string PluginName string PluginConfig *source.Config IsInteractivitySupported bool }
StartedSource holds information about started source plugin.
type StartedSources ¶ added in v1.4.0
type StartedSources map[bool]StartedSource
StartedSources holds information about started source plugins grouped by interactivity supported.