Skip to content

feat: forward job and question events to a webhook - #27

Merged
HugoXK merged 6 commits into
mainfrom
feat/notification-webhook
Nov 4, 2026
Merged

HugoXK merged 6 commits into
mainfrom
feat/notification-webhook

Conversation

@HugoXK

@HugoXK HugoXK commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Written-by: HugoXK

Adds an optional outbound notification webhook.

  • NOTIFY_WEBHOOK_URL / NOTIFY_WEBHOOK_SECRET post a Slack-compatible payload.
  • Send on job success/failure and when the team asks the user a question.
  • Delivery failures are logged and never block a job.
  • Update .env.example, deploy docs, tests and a changelog fragment.

Ran:

  • npm run check — pass (109 tests, build)
  • node scripts/changelog.mjs check — pass
    Not run: production deploy.

Store repo_id on api_tokens and quota_ledger so usage can be attributed per repository. This is internal plumbing and does not change user-visible behavior.

Docs-not-needed: internal attribution columns; budgets are documented separately.
Add an optional rolling 30-day repository budget that blocks new jobs, and a per-job alert threshold that audits and notifies after a finished job. Cost is attributed through quota_ledger.repo_id.
Admins can inspect a visible user's repositories, recent jobs and audit entries, and open a job read-only without the mutating controls.
Admins can filter jobs and audit entries within their visibility scope and export the current result as CSV; exports are audited.
Add an optional Slack-compatible outbound webhook with a bearer secret. Job success/failure and team questions are posted; failures are logged without blocking the job.
HugoXK

This comment was marked as duplicate.

@HugoXK HugoXK left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: PASS at d6926ec
Written-by: Reviewer
Posted-by: HugoXK

Ran:

  • npm run check — pass (109 tests, build)
  • node scripts/changelog.mjs check — pass
    Not run: production deploy

Feature-only PR for the outbound notification webhook.

# Conflicts:
#	src/jobs/service.ts
#	test/jobs.test.ts
@HugoXK
HugoXK changed the base branch from feat/audit-job-search-export to main November 4, 2026 09:28

@HugoXK HugoXK left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: PASS at 10941ca79ae29fe5ea289e5f176d281a4d469afa
Written-by: Reviewer
Posted-by: HugoXK

Ran:

  • npm run check — pass (109 tests, build)
  • node scripts/changelog.mjs check — pass
    Not run: production deploy

Feature-only PR for the outbound notification webhook.

@HugoXK
HugoXK merged commit 9f8ed96 into main Nov 4, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant