Skip to main content
Private preview. fremforge is in private preview — invited customers only. Content is still subject to change. Request access →

Plane

Plane is a self-hosted, open-source (Apache 2.0) issue tracker. Same project-key + issue-number model as Jira and Linear (e.g. WORK-123). The big difference from the hosted alternatives: it runs in your own infrastructure — no third-party sub-processor for commit metadata.

This is the recommended pairing for fremforge customers on the EU-sovereignty path.

Forgejo side: external issue tracker

Repo Settings → “Advanced Settings” → External issue tracker.

FieldValue
External issue tracker URLhttps://plane.example.com/<workspace>/projects/<project-id>/issues?peekIssue={user}-{index}
External issue tracker URL formathttps://plane.example.com/<workspace>/projects/<project-id>/issues?peekIssue={user}-{index}
External issue tracker number formatRegexp
External issue tracker number format regexp([A-Z][A-Z0-9]+)-([0-9]+)

Replace plane.example.com, <workspace>, <project-id> with your Plane deployment’s values. Plane’s URL shape uses peekIssue to surface the issue in a side-panel without navigating away from the workspace view — pleasant from a fremforge link.

If you run multiple Plane projects against one fremforge repo, configure the issue style at repo level rather than baking a project ID into the URL. Plane’s peekIssue=<KEY>-<INDEX> resolves cross-project as long as the key is unique workspace-wide.

Recommended commit-message format

fix(billing): periodisering reversal on day-30 cancel

WORK-892

Plane’s REST API natively supports magic-words in linked-commit comments (configurable on workspace level — see Plane’s docs at Configuring linked-PR automation). Setting fixes WORK-892 triggers Plane’s automation to move the issue to “Done” when the inbound webhook arrives with the PR-merged event.

Tracker side: inbound webhook (recommended)

Plane ships native Forgejo webhook support as of Plane 0.18 (May 2026 release):

  1. Plane workspace → SettingsIntegrationsForgejo / GiteaConnect new repository.
  2. Paste your fremforge repo URL (e.g. https://frem.sh/<your-org>/<your-repo>).
  3. Plane returns a webhook URL + signing secret. In fremforge: Repo Settings → WebhooksAdd WebhookForgejo → paste both.

The integration handles:

  • Linked commits + PRs surface on each Plane issue.
  • PR merge with magic words (closes WORK-892) auto-transitions the issue to “Done”.
  • Branch creation from Plane’s issue-detail view (“Create branch in fremforge”) POSTs to fremforge’s Forgejo API and creates a branch named <key>-<index>/<issue-slug>.

This is the only tracker in this section that has near-bidirectional integration without operator-side relay code — because Plane is upstream-friendly to Forgejo (the maintainer team explicitly tests against it).

Sub-processor implications

Self-hosted = zero sub-processor footprint. Plane runs in your infra; commit metadata never leaves your perimeter:

  • No DPA addendum needed beyond your own Plane deployment’s posture.
  • Sovereignty story stays intact — both fremforge and Plane stay EU-hosted (or wherever you’ve deployed them).
  • Plane’s commercial cloud variant (Plane Cloud) is AWS US-east — if you choose that, the sub-processor implications mirror Linear. The self-hosted edition is the right fit for sovereignty-sensitive workloads.

What this doesn’t do

  • Plane’s modules / cycles / pages / views surface only inside Plane; fremforge stays at the issue-link level. You won’t see “this PR is on the Sprint 14 cycle” in fremforge’s PR view.
  • Cross-workspace links aren’t supported — every linked issue must live in the workspace the integration was configured against.
  • The branch-create-from-issue path requires the Plane → fremforge OAuth grant to carry write:repository scope (the integration wizard prompts for this; if you decline, the linked-commit surface still works one-way).

Why we recommend Plane

For EU-sovereignty customers, Plane is the on-brand pairing — same governance model as fremforge (self-hosted, Apache 2.0, EU-deployable), same security posture, no third-party data flow. The integration is the smoothest of any tracker in this section because Plane’s team builds against Forgejo’s webhook shape directly.

For customers already on Jira / Azure Boards / Linear: keep what you have; the external-tracker primitive in fremforge works fine with all of them. Plane is the better fit for greenfield projects.