Plane→Gitea workflow DEACTIVATED after infinite loop crash. Documents exact fix needed (bot filter nodes in both workflows). Documents n8n volume situation (/root/.n8n is correct mount). Rejects Gemini unified workflow (wrong endpoints, missing features). Includes session start checklist for next Chronicler. Chronicler #32
Task #48 — Gitea/Plane Integration via n8n
Status: READY — pending n8n rebuild (Task #34) Priority: Tier 2 — Major Infrastructure Time: 2-3 hours Created: March 15, 2026 Created By: Chronicler #31 Owner: Michael "Frostystyle" Krause Depends: Task #34 (n8n rebuild from scratch)
The Goal
Hands-off, automated two-way sync between Gitea (source of truth for docs/code) and Plane (task tracking for Meg, Holly, and all staff). Neither Meg nor Holly should need to manually cross-reference between systems.
Why n8n (Not Native Integration)
Plane has no native Gitea integration. GitHub/GitLab integrations exist but are likely Pro features and don't apply to our self-hosted Gitea.
n8n is already in the Firefrost stack on TX1. It's purpose-built for exactly this kind of cross-platform automation. Once n8n is rebuilt (Task #34), this integration is straightforward.
Workflow Design
Gitea → Plane (commit updates task)
- Developer pushes commit with Plane issue ID in message (e.g.
INFRA-42) - Gitea fires webhook to n8n
- n8n parses commit message for issue ID
- n8n calls Plane API to:
- Add comment: "Commit: [message] by [author]"
- Optionally update issue status (e.g. "In Progress" → "Done" on keyword)
Trigger keywords in commit messages:
closes INFRA-42→ mark issue Donerefs INFRA-42→ add comment onlyfixes INFRA-42→ mark issue Done
Plane → Gitea (task creation creates issue)
- New Plane issue created in Infrastructure project
- Plane fires webhook to n8n
- n8n creates matching Gitea issue in ops manual repo
- Links back to Plane issue URL in Gitea issue body
Technical Requirements
Plane API
- Generate API token: Workspace Settings → Access Tokens
- Base URL:
https://tasks.firefrostgaming.com/api/v1/ - Docs: https://developers.plane.so/api-reference/introduction
Gitea Webhook
- Token:
3c40388246ae816fe21cdca26fce4e1c66989dd1(in Vaultwarden) - Webhook URL:
http://[n8n-url]/webhook/gitea-plane - Events: Push, Issues
Gitea Allowed Webhooks
Gitea restricts webhook destinations. Need to add n8n URL to allowed list in Gitea's app.ini:
[webhook]
ALLOWED_HOST_LIST = n8n.firefrostgaming.com
n8n Workflows to Build
- Gitea Push → Plane — parse commit, update issue
- Plane Issue → Gitea — create tracking issue
Implementation Order
- Complete Task #34 (n8n rebuild) first
- Generate Plane API token
- Update Gitea app.ini with n8n in allowed webhook hosts
- Build n8n workflow: Gitea Push → Plane issue update
- Build n8n workflow: Plane issue → Gitea issue
- Test with a real commit referencing a Plane issue
- Document commit message convention for team
Commit Message Convention (for team)
Once live, all commits should reference Plane issue IDs:
feat: add LuckPerms builder rank
Implements Builder rank with WorldEdit permissions.
closes BUILDS-12
refs INFRA-7
Michael to document this in a team guide once integration is live.
Related Tasks
- Task #34 — n8n Rebuild (prerequisite)
- Task #47 — Plane Deployment (complete)
- Task #11 — Mailcow (complete)
Fire + Frost + Foundation = Where Love Builds Legacy 💙🔥❄️