Projektarten: neue Repos erkennen und Zuordnungs-Mail senden

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-09-30 18:31:20 +00:00
1 parent de4b6f3a35
commit 1f1ffb5275
7 files changed
+332 -3

No files matched your search

+15
View File
@@ -15,6 +15,7 @@ import { ensureProjectTicket } from '../../services/ticketAdmin.js'
import { invalidateProjectCache } from '../../services/projectInsights.js'
import { withLocks } from '../../services/keyedLock.js'
import { repoLockKey, currentRepoFullName } from '../../services/repoMove.js'
import { handleRepositoryCreated } from '../../services/repoAssignJob.js'
const router = Router()
@@ -45,6 +46,20 @@ router.post('/gitea', async (req, res) => {
}
const payload = req.body || {}
// Ereignis "repository": nur `created` wird verarbeitet (neues Repo -> Dokument + Zuordnungs-Mail),
// alles andere (deleted, transfer, ...) wird mit 200 ignoriert. Der Push-Pfad bleibt unberuehrt.
if (req.get('X-Gitea-Event') === 'repository') {
if (payload.action !== 'created') return res.json({ ok: true, ignored: true })
try {
const r = await handleRepositoryCreated(payload)
return res.json({ ok: true, created: r.created })
} catch (err) {
console.error('[webhook] repository/created:', err)
return res.status(500).json({ error: err.message || 'Webhook-Verarbeitung fehlgeschlagen' })
}
}
const ref = payload.ref || ''
const repo = payload.repository || {}
const payloadName = repo.full_name || ''