Files
firefrost-operations-manual/docs/tasks/gitea-plane-integration
Claude fe8f9b2119 docs: critical next session priority — loop fix and n8n stabilization
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
2026-03-19 05:09:48 +00:00
..

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)

  1. Developer pushes commit with Plane issue ID in message (e.g. INFRA-42)
  2. Gitea fires webhook to n8n
  3. n8n parses commit message for issue ID
  4. 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 Done
  • refs INFRA-42 → add comment only
  • fixes INFRA-42 → mark issue Done

Plane → Gitea (task creation creates issue)

  1. New Plane issue created in Infrastructure project
  2. Plane fires webhook to n8n
  3. n8n creates matching Gitea issue in ops manual repo
  4. Links back to Plane issue URL in Gitea issue body

Technical Requirements

Plane API

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

  1. Gitea Push → Plane — parse commit, update issue
  2. Plane Issue → Gitea — create tracking issue

Implementation Order

  1. Complete Task #34 (n8n rebuild) first
  2. Generate Plane API token
  3. Update Gitea app.ini with n8n in allowed webhook hosts
  4. Build n8n workflow: Gitea Push → Plane issue update
  5. Build n8n workflow: Plane issue → Gitea issue
  6. Test with a real commit referencing a Plane issue
  7. 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.


  • Task #34 — n8n Rebuild (prerequisite)
  • Task #47 — Plane Deployment (complete)
  • Task #11 — Mailcow (complete)

Fire + Frost + Foundation = Where Love Builds Legacy 💙🔥❄️