Add event-driven tasks via Gitea webhooks
Webhook endpoint at /api/webhooks/gitea receives Gitea status events,
matches them against configurable event triggers with conditions
(event type, repo glob, state, context), renders task templates with
{{variable}} substitution, and creates harness tasks automatically.
Includes circuit breaker: after N consecutive task failures from the
same trigger (default 3), the trigger auto-disables. Re-enable
manually via PATCH /api/event-triggers/:id.
New tables: harness_event_triggers (rules + circuit breaker state),
harness_event_log (audit trail + dedup via X-Gitea-Delivery).
This commit is contained in:
19
apps/harness/scripts/build-mcp.mjs
Normal file
19
apps/harness/scripts/build-mcp.mjs
Normal file
@@ -0,0 +1,19 @@
|
||||
import { build } from "esbuild";
|
||||
import { resolve, dirname } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
await build({
|
||||
entryPoints: [resolve(__dirname, "../src/mcp-server.ts")],
|
||||
bundle: true,
|
||||
platform: "node",
|
||||
target: "node20",
|
||||
format: "esm",
|
||||
outfile: resolve(__dirname, "../dist/mcp-server.mjs"),
|
||||
external: [],
|
||||
banner: { js: "#!/usr/bin/env node" },
|
||||
// Inline all deps — the output is a self-contained script
|
||||
});
|
||||
|
||||
console.log("Built dist/mcp-server.mjs");
|
||||
Reference in New Issue
Block a user