Projektarten: neue Repos erkennen und Zuordnungs-Mail senden
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
de4b6f3a35
commit
1f1ffb5275
7 files changed
+332
-3
No files matched your search
@@ -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 || ''
|
||||
|
||||
Reference in new issue
Block a user