2026-05-12 21:06:22 +00:00
|
|
|
# git-webhooks
|
|
|
|
|
|
|
|
|
|
Containerized Bun service for GitHub and jojo.build webhooks.
|
|
|
|
|
|
|
|
|
|
## Endpoints
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
GET /healthz
|
|
|
|
|
POST /git-webhooks/jojo
|
|
|
|
|
POST /git-webhooks/github
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Environment
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
HOST=0.0.0.0
|
|
|
|
|
PORT=3000
|
|
|
|
|
DATA_DIR=/app/data
|
|
|
|
|
JOJO_WEBHOOK_SECRET=...
|
|
|
|
|
GITHUB_WEBHOOK_SECRET=...
|
2026-05-12 21:33:24 +00:00
|
|
|
DISCORD_WEBHOOK_URL=
|
|
|
|
|
DISCORD_NOTIFY_EVENTS=push,pull_request,release
|
2026-05-12 22:37:26 +00:00
|
|
|
FEED_SOURCES_PATH=./feed-sources.json
|
2026-05-12 21:06:22 +00:00
|
|
|
```
|
|
|
|
|
|
2026-05-12 21:33:24 +00:00
|
|
|
Discord notifications are optional. When `DISCORD_WEBHOOK_URL` is unset, the
|
|
|
|
|
service skips Discord output. `DISCORD_NOTIFY_EVENTS` is a comma-separated
|
|
|
|
|
allow list and defaults to `push,pull_request,release`.
|
|
|
|
|
|
2026-05-12 21:06:22 +00:00
|
|
|
## Development
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
bun install
|
|
|
|
|
bun run check
|
|
|
|
|
bun run dev
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Accepted webhook events are appended to `DATA_DIR/events.jsonl`; queued work
|
|
|
|
|
items are appended to `DATA_DIR/jobs.jsonl`.
|
2026-05-12 22:37:26 +00:00
|
|
|
|
|
|
|
|
Feed watcher events are configured in `feed-sources.json`. The first poll primes
|
|
|
|
|
`DATA_DIR/feed-state.json`; later polls append upstream activity to
|
|
|
|
|
`DATA_DIR/feed-events.jsonl` and release-triggered fork sync work to
|
|
|
|
|
`DATA_DIR/feed-jobs.jsonl`.
|