Files
GerbilManager/tools/import/resolve_tickets_ancestors.py
Gulum 45b8533f18
Some checks failed
CI / Backend Tests (.NET) (push) Successful in 1m11s
CI / Frontend Tests (Node/Vite) (push) Failing after 4m59s
CI / Docker Build & Push (push) Has been skipped
CI / Deploy auf TrueNAS (Custom App) (push) Has been skipped
feat(deploy): TrueNAS Custom-App + Auto-Deploy, plus aufgelaufene Arbeit
Deployment:
- custom-app.compose.yaml: self-contained Compose fuer TrueNAS "Custom App"
  (absolute Host-Bind-Pfade, postgres:18, pull_policy always, Port 8090)
- scripts/truenas-deploy.sh: Host-Skript create/redeploy via midclt (App
  bleibt unter Apps sichtbar) inkl. Image-Pull + Health-Check
- ci.yml Deploy-Job: laeuft auf ubuntu-latest-Runner, kopiert Deploy-Dateien
  per SSH auf den NAS-Host und triggert truenas-deploy.sh (statt runs-on goldeye)
- compose.yaml/.env.example: postgres:18 (Locale-Match zur Quell-DB), Port 8090
- .gitignore: .agents/, tools/rag/, deploy/truenas/.env (Secrets/Scratch)

Aufgelaufene Feature-Arbeit (verified/Freeze, Migrationen, Import-Triage):
- GerbilOverride/VerifiedGerbil-Endpoints + GerbilSnapshotService + Tests
- EF-Migrationen (ShowInChronicle, Stillborn, BirthOrder, ManualFlag, DSGVO)
- Frontend VerifizierteTierePage + verified-API + e2e-Spec
- diverse Import-/Triage-Skripte und -Tests

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 09:19:11 +02:00

43 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import urllib.request
import json
import sys
sys.stdout.reconfigure(encoding='utf-8')
tickets = [
{
"id": "721ab06c-7553-4de1-9eb6-585d98bbcfc9",
"fixNote": "Der Wurf 'Whiskey × Walpurgis' wurde als fehlerhafter Import eines Zuchtvorfahren-Wurfs identifiziert und Whiskey wurde als Phantom-Datensatz komplett aus der Datenbank entfernt. Bitte lade die Seite neu."
},
{
"id": "63e88dcb-c16f-4708-b821-9dde81c4c7fa",
"fixNote": "Stadtmaus Kanani wurde als Zuchtvorfahr klassifiziert und ihr Bestands-Status ('Zuchtanwärter') wurde deaktiviert, da sie nie zum eigenen Bestand gehörte. Bitte lade die Seite neu."
},
{
"id": "7b2e4c00-a94d-4bed-add6-abda190b7c6a",
"fixNote": "Sheila of Ulmer Strolche wurde als Zuchtvorfahr klassifiziert und ihr Bestands-Status ('Zuchtanwärter') wurde deaktiviert, da sie nie zum eigenen Bestand gehörte. Bitte lade die Seite neu."
},
{
"id": "29fce1a1-474d-4565-8195-36bb4dccb8c7",
"fixNote": "Scarlett of Samsimar wurde als Zuchtvorfahr klassifiziert und ihr Bestands-Status ('Zuchtanwärter') wurde deaktiviert, da sie nie zum eigenen Bestand gehörte. Bitte lade die Seite neu."
}
]
for t in tickets:
url = f"http://localhost:5179/feedback/{t['id']}"
payload = {
"status": "Resolved",
"fixNote": t["fixNote"]
}
try:
req = urllib.request.Request(
url,
data=json.dumps(payload).encode('utf-8'),
headers={"Content-Type": "application/json"},
method="PUT"
)
with urllib.request.urlopen(req) as res:
print(f"Ticket {t['id']} -> Status: {res.status}")
except Exception as e:
print(f"Error on {t['id']}: {e}")