tracker

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package tracker turns issue-tracker and code-host webhooks into KARMAX bus events.

GitHub, Jira and YouTrack are not conversations — they are event sources. So rather than pretending they're chat channels, each delivery is normalised into one Event and published on the bus, where loops decide what (if anything) it deserves: a reply, an approval, a reminder, or nothing.

Mount one endpoint per platform:

/hooks/github    X-Hub-Signature-256 (HMAC-SHA256 of the raw body)
/hooks/jira      ?token=… shared secret
/hooks/youtrack  ?token=… shared secret

Index

Constants

View Source
const EventKind bus.EventKind = "tracker.event"

EventKind is the bus event every tracker delivery becomes.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Source  Source
	Secret  string // GitHub: HMAC key. Jira/YouTrack: shared ?token= value.
	AgentID string // agent the resulting events are addressed to
}

Config wires one platform's endpoint.

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

Handler receives tracker webhooks and publishes normalised bus events.

func New

func New(cfg Config, b *bus.Log, log *zap.Logger) *Handler

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

type Source

type Source string

Source identifies a supported platform.

const (
	GitHub   Source = "github"
	Jira     Source = "jira"
	YouTrack Source = "youtrack"
)

Jump to

Keyboard shortcuts

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