84db121a4c
Gitea sends review requests as pull_request/review_requested, not only pull_request_review_request. Co-authored-by: Cursor <cursoragent@cursor.com>
1.1 KiB
1.1 KiB
Operations Runbook
Behavior
- Processes only:
pull_requestwith actionopenedpull_requestorpull_request_review_requestwith actionreview_requestedand reviewer matching bot login
- Idempotency key:
{owner}/{repo}#{pr_number}#{head_sha} - Removes bot from reviewers after a successful review post
Logging
Structured logs include:
correlation_idownerrepopr_numberhead_shaoutcome(skipped,success,failed)
Never log token values or raw authorization headers.
Failure handling
- Signature validation failure: request rejected with 401.
- Schema validation failure from Cursor output: request fails and review is not posted.
- Invalid inline comments after validation: service posts summary review only (no inline comments).
Retry guidance
- Safe to replay the same webhook delivery; dedupe blocks duplicates within TTL.
- For transient outages (Cursor/Gitea), re-deliver webhook from Gitea UI.
Rollback
- Disable org/repo webhook.
- Stop deployment (
docker compose down). - Re-enable webhook after fix and redeploy (
docker compose up -d --build).