Use the Go, Python, or TypeScript SDKs to subscribe to emit topics.
package main
import (
"context"
"log"
"os"
"github.com/relaymesh/relaymesh/sdk/go/worker"
)
func main() {
endpoint := os.Getenv("GITHOOK_ENDPOINT")
if endpoint == "" {
endpoint = "https://relaymesh.vercel.app/api/connect"
}
ruleID := os.Getenv("GITHOOK_RULE_ID")
if ruleID == "" {
ruleID = "85101e9f-3bcf-4ed0-b561-750c270ef6c3"
}
wk := worker.New(
worker.WithEndpoint(endpoint),
worker.WithClientProvider(worker.NewRemoteSCMClientProvider()),
)
wk.HandleRule(ruleID, func(ctx context.Context, evt *worker.Event) error {
if evt == nil {
return nil
}
log.Printf("topic=%s provider=%s", evt.Topic, evt.Provider)
return nil
})
if err := wk.Run(context.Background()); err != nil {
log.Fatal(err)
}
}
Set GITHOOK_ENDPOINT and GITHOOK_RULE_ID in your environment. For full multi-provider examples, see the language-specific pages in Examples.