Documentation

Examples

Common worker patterns for routing and enrichment.

Enrich with provider clients

wk.HandleTopic("pr.opened.ready", func(ctx context.Context, evt *worker.Event) error {
  client, err := worker.ResolveProviderClient(ctx, evt)
  if err != nil {
    return err
  }

  switch evt.Provider {
  case "github":
    gh, ok := worker.GitHubClient(evt)
    if ok {
      _ = gh
    }
  case "gitlab":
    _ = client
  case "bitbucket":
    _ = client
  }
  return nil
})

Route to internal systems

wk.HandleTopic("github.commit.created", func(ctx context.Context, evt *worker.Event) error {
  // Forward to your internal API or data pipeline.
  return nil
})

## Inspect normalized fields

wk.HandleTopic("pr.opened.ready", func(ctx context.Context, evt *worker.Event) error { title, _ := evt.Normalized["title"].(string) _ = title return nil })