3 Commits
Author SHA1 Message Date
quafzi f704afec51 Match semantic IDs (e.g. KS-10) without requiring OP# prefix
Bare numeric IDs like #10 still require OP# to avoid collision with
Gitea issue numbers. Semantic identifiers (PROJ-42 style) are
unambiguous and matched with or without the prefix, as well as via
full OpenProject URL.

Update the tab empty-state message accordingly.
2026-08-29 16:16:49 +02:00
quafzi 29b922b708 Use git-pull-request icon for admin menu entry
op-logo-gitea does not exist in the OpenProject octicons set.
Use the standard git-pull-request octicon as a placeholder,
matching what is available.
2026-08-28 23:35:03 +02:00
quafzi 5d409989df Add OpenProject Gitea integration plugin
Implements a Gitea integration for OpenProject following the same
patterns as the bundled GitHub and GitLab integrations.

- Webhook endpoint at /webhooks/gitea with HMAC-SHA256 verification
- Handles pull_request and issue_comment events
- Links Gitea PRs to work packages via OP# references or URLs
- Posts journal comments on WPs for PR lifecycle events
- Gitea tab on the work package split view
- V3 API endpoint: GET /api/v3/work_packages/:id/gitea_pull_requests
- Admin settings UI for bot user and webhook secret
- Nightly cron job to clean up unlinked PR records
2026-08-28 22:33:27 +02:00