Skip to content
cccskills
FreePublished on GitHub

webhook-engine

Use for Webhook Engine on port 8900: rules, actions, API.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md4.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Webhook Engine — Event-Triggered Automation

Überblick

Event-getriggerter Automatisierungsserver auf Port 8900. Empfängt Webhooks, wertet Regeln aus und führt Aktionen aus (Scripts ausführen, Alarme senden, Dienste neu starten, Loggen).

Standorte

KomponentePfad
ScriptC:\Users\damir\scripts\webhook-engine.py
RegelnC:\Users\damir\.webhook-engine\rules.json
ZustandC:\Users\damir\.webhook-engine\state.json
LockC:\Users\damir\.webhook-engine\server.lock

Verwendung

# Server starten
python3 /c/Users/damir/scripts/webhook-engine.py --start

# Regel hinzufügen
python3 /c/Users/damir/scripts/webhook-engine.py --add-rule '{"event":"git-push","action":"send-alert"}'

# Regel mit Bedingung + Action-Dict
python3 /c/Users/damir/scripts/webhook-engine.py --add-rule '{"event":"cron-fail","condition":{"job_id":"backup"},"action":{"type":"run-script","path":"notify.py"}}'

# Regeln auflisten
python3 /c/Users/damir/scripts/webhook-engine.py --list-rules

# Log anzeigen (letzte 50 Events)
python3 /c/Users/damir/scripts/webhook-engine.py --log

# Regel entfernen
python3 /c/Users/damir/scripts/webhook-engine.py --remove-rule rule-1

# Log leeren
python3 /c/Users/damir/scripts/webhook-engine.py --clear-log

# Health-Check
python3 /c/Users/damir/scripts/webhook-engine.py --health

# Cron: Restart wenn down
python3 /c/Users/damir/scripts/webhook-engine.py --ensure-running

API Endpoints

MethodePfadBeschreibung
POST/webhook/<name>Webhook empfangen (JSON-Body)
POST/webhookGenerisches Event
GET/healthHealth-Check
GET/rulesRegeln auflisten
GET/stateZustand anzeigen

Events

Standard-Event-Typen:

EventBeschreibungTypische Daten
git-pushGit Push{"repo":"...","branch":"...","commits":[...]}
cron-failCron-Job Fehler{"job_id":"...","error":"..."}
thresholdMetrik-Schwellwert{"metric":"...","value":42}

Der Event-Typ wird aus event oder event_type im JSON-Body gelesen; fällt der auf den Webhook-Namen zurück.

Actions

ActionParameterBeschreibung
run-scriptpath, args[]Python-Script ausführen
send-alertmessageAlert ausgeben (stdout, für Monitoring)
restart-servicenameService neustarten (taskkill/systemctl)
log-eventdataDaten loggen

Action als String (Kurzform)

{"event":"cron-fail","action":"send-alert"}

Action als Dict (mit Parametern)

{"event":"cron-fail","action":{"type":"run-script","path":"notify.py","args":["cron-fail"]}}

Bedingungen (Conditions)

Bedingungen verwenden Dot-Notation für den Zugriff auf Event-Daten:

{
  "event": "git-push",
  "condition": {"branch": "main"},
  "action": "send-alert"
}
{
  "event": "cron-fail",
  "condition": {"job_id": "backup"},
  "action": {"type": "run-script", "path": "alert_admin.py"}
}

Regelformat (rules.json)

[
  {
    "id": "rule-1",
    "event": "git-push",
    "condition": {"branch": "main", "repo": "openamer/openamer"},
    "action": {"type": "send-alert", "message": "Push on main: {branch}"}
  },
  {
    "id": "rule-2",
    "event": "cron-fail",
    "action": {"type": "run-script", "path": "notify.py"}
  }
]

Cron-Job (alle 5 Minuten)

Der Cron-Job webhook-engine-health prüft alle 5 Minuten, ob der Server läuft, und startet ihn bei Bedarf neu. Definiert in der OpenAmer jobs.json.

Manuelle Events senden (Test)

# git-push Event
curl -X POST http://localhost:8900/webhook/git \
  -H "Content-Type: application/json" \
  -d '{"event":"git-push","repo":"openamer/openamer","branch":"main","commits":["abc123"]}'

# cron-fail Event
curl -X POST http://localhost:8900/webhook/monitoring \
  -H "Content-Type: application/json" \
  -d '{"event":"cron-fail","job_id":"backup","error":"Timeout"}'

# threshold Event
curl -X POST http://localhost:8900/webhook/metrics \
  -H "Content-Type: application/json" \
  -d '{"event":"threshold","metric":"cpu","value":95}'

# Health-Check
curl http://localhost:8900/health

Troubleshooting

  • Port 8900 already in use: netstat -ano | findstr :8900 → taskkill /PID <id> /F
  • Rules not matching: Prüfe den Event-Namen im JSON-Body (event oder event_type Feld)
  • Script not found: Pfad in rule["action"]["path"] muss relativ zu ~/scripts/ oder absolut sein
  • Server hängt: taskkill /F /IM python.exe und Neustart
  • Lock stale: Lösche C:\Users\damir\.webhook-engine\server.lock

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Build integrated IS/BS/CF financial workbooks in Excel.

The English summary is being prepared. Showing the original description.

openamer/openamer8Updated Oct 21, 2026

Run and grow the OpenAmer Agent-to-Agent swarm: identity, trust, node-to-node ask, signed skill/insight sharing, and the autonomous self-learning loop.

The English summary is being prepared. Showing the original description.

openamer/openamer8Updated Oct 21, 2026

Use for A/B experiments on OpenAmer configs and skills.

The English summary is being prepared. Showing the original description.

openamer/openamer8Updated Oct 21, 2026

Roleplay a hostile user to find and triage UX pain points.

The English summary is being prepared. Showing the original description.

openamer/openamer8Updated Oct 21, 2026

Agent mesh: master/worker nodes, HTTP delegation, heartbeat.

The English summary is being prepared. Showing the original description.

openamer/openamer8Updated Oct 21, 2026

Use for agentic commerce payments tasks. Candidate synthesized from trend radar; awaiting trial promotion.

The English summary is being prepared. Showing the original description.

openamer/openamer8Updated Oct 21, 2026

See all skills by openamer

Report a problem with this skill