Skip to content

Logs

Send Logs (send_logs)

Every dispatch attempt is recorded in the D1 send_logs table and browsable in the console (Logs tab). Fields:

FieldMeaning
routeIdRoute that matched
groupIdRoute's group
eventEvent type (e.g. push, pull_request, custom)
repoRepository full name (when present)
targetTarget id the message was sent to
platformdiscord or telegram
okWhether the send succeeded
statusHTTP status from the platform API (when applicable)
errorError message (when failed)
errorCodeStable error code (e.g. NO_TARGET, NO_TOKEN, RATE_LIMITED)
attemptsSend attempts including retries
durationMsTime spent sending
deliveryIdWebhook delivery id (when provided)
messageIdPlatform message id (used for in-place edits)
actorSender login
actionEvent action (when present)
detailExtra JSON details (when present)

The console's Logs tab lists recent entries (filterable by group) and shows full details for a single entry. Entries are written best-effort — a failed insert never breaks dispatch.

Audit Log (audit_logs)

Every admin operation is recorded in D1 audit_logs and browsable in the console (Audit tab): logins/logouts, group/route/member/invite changes, token revocations, installation bindings. Fields: timestamp, actor (GitHub id + login), action, target type/id, group id, ip, and detail JSON.

Entries are pruned automatically by the scheduled trigger after AUDIT_RETENTION_DAYS (default 90). Like send logs, writes are best-effort.

Webhook Log Channel

Groups can additionally receive a per-webhook summary message in a Discord channel/thread or Telegram chat/topic — see Groups → Webhook Log Channel. These summaries are best-effort and are not recorded in send_logs.

Released under the MIT License.