Zum Hauptinhalt springen
Apps befinden sich derzeit in der Alpha-Phase. Die Funktion ist funktionsfähig, entwickelt sich jedoch noch weiter.

Übersicht

Sobald Ihre App lokal gebaut und getestet wurde, haben Sie zwei Möglichkeiten, sie zu verteilen:
  • Einen Tarball bereitstellen — Laden Sie Ihre App direkt auf einen bestimmten Twenty-Server für die interne oder private Nutzung hoch.
  • Auf npm veröffentlichen — führen Sie Ihre App im Twenty-Marktplatz auf, damit jeder Arbeitsbereich sie entdecken und installieren kann.
Beide Pfade beginnen mit demselben Build-Schritt.

Erstellen Ihrer App

Führen Sie den Build-Befehl aus, um Ihre App zu kompilieren und eine distributionsfertige manifest.json zu erzeugen:
yarn twenty build
Dabei werden TypeScript-Quelltexte kompiliert, Logikfunktionen und Frontend-Komponenten transpiliert und alles in .twenty/output/ geschrieben. Fügen Sie --tarball hinzu, um zusätzlich ein .tgz-Paket für die manuelle Verteilung oder den Deploy-Befehl zu erzeugen.

Bereitstellung auf einem Server (Tarball)

Für Apps, die Sie nicht öffentlich verfügbar machen möchten — proprietäre Tools, ausschließlich für Unternehmen bestimmte Integrationen oder experimentelle Builds — können Sie einen Tarball direkt auf einem Twenty-Server bereitstellen.

Voraussetzungen

Bevor Sie bereitstellen, benötigen Sie ein konfiguriertes Remote, das auf den Zielserver zeigt. Remotes speichern die Server-URL und Anmeldeinformationen lokal in ~/.twenty/config.json. Ein Remote hinzufügen:
yarn twenty remote add --api-url https://your-twenty-server.com --as production

Bereitstellen

Bauen und laden Sie Ihre App in einem Schritt auf den Server hoch:
yarn twenty deploy
# To deploy to a specific remote:
# yarn twenty deploy --remote production

Eine bereitgestellte App freigeben

Tarball-Apps werden nicht im öffentlichen Marktplatz gelistet, daher entdecken andere Arbeitsbereiche auf demselben Server sie nicht durch Stöbern. So geben Sie eine bereitgestellte App frei:
  1. Gehen Sie zu Einstellungen > Anwendungen > Registrierungen und öffnen Sie Ihre App
  2. Klicken Sie im Tab Distribution auf Freigabelink kopieren
  3. Teilen Sie diesen Link mit Nutzern in anderen Arbeitsbereichen — er führt sie direkt zur Installationsseite der App
Der Freigabelink verwendet die Basis-URL des Servers (ohne Workspace-Subdomain), sodass er für jeden Arbeitsbereich auf dem Server funktioniert.
Das Teilen privater Apps ist eine Enterprise-Funktion. Gehen Sie zu Einstellungen > Admin-Panel > Enterprise, um es zu aktivieren.

Versionsverwaltung

So veröffentlichen Sie ein Update:
  1. Erhöhen Sie das Feld version in Ihrer package.json
  2. Führen Sie yarn twenty deploy aus (oder yarn twenty deploy --remote production)
  3. Arbeitsbereiche, die die App installiert haben, sehen in ihren Einstellungen, dass ein Upgrade verfügbar ist.

Auf npm veröffentlichen

Die Veröffentlichung auf npm macht Ihre App im Twenty-Marktplatz auffindbar. Jeder Twenty-Arbeitsbereich kann Marktplatz-Apps direkt über die Benutzeroberfläche durchsuchen, installieren und aktualisieren.

Anforderungen

  • Ein npm-Konto
  • Das Schlüsselwort twenty-app in Ihrem package.json-Array keywords (bereits enthalten, wenn Sie mit create-twenty-app ein Gerüst erstellen)
{
  "name": "twenty-app-postcard-sender",
  "version": "1.0.0",
  "keywords": ["twenty-app"]
}

Marktplatz-Metadaten

Die defineApplication()-Konfiguration unterstützt optionale Felder, die steuern, wie Ihre App im Marktplatz erscheint. Verwenden Sie logoUrl und screenshots, um Bilder aus dem Ordner public/ zu referenzieren:
src/application-config.ts
export default defineApplication({
  universalIdentifier: '...',
  displayName: 'My App',
  description: 'A great app',
  defaultRoleUniversalIdentifier: DEFAULT_ROLE_UNIVERSAL_IDENTIFIER,
  logoUrl: 'public/logo.png',
  screenshots: [
    'public/screenshot-1.png',
    'public/screenshot-2.png',
  ],
});
Siehe das defineApplication-Akkordeon auf der Seite Building Apps für die vollständige Liste der Marktplatzfelder (author, category, aboutDescription, websiteUrl, termsUrl usw.).

Veröffentlichen

yarn twenty publish
Um unter einem bestimmten dist-tag zu veröffentlichen (z. B. beta oder next):
yarn twenty publish --tag beta

So funktioniert die Marktplatz-Erkennung

Der Twenty-Server synchronisiert seinen Marktplatzkatalog stündlich aus der npm-Registry. Sie können die Synchronisierung sofort auslösen, anstatt zu warten:
yarn twenty catalog-sync
# To target a specific remote:
# yarn twenty catalog-sync --remote production
Die im Marktplatz angezeigten Metadaten stammen aus Ihrer defineApplication()-Konfiguration — Felder wie displayName, description, author, category, logoUrl, screenshots, aboutDescription, websiteUrl und termsUrl.
Wenn deine App keine aboutDescription in defineApplication() definiert, verwendet der Marktplatz automatisch die README.md deines Pakets von npm als Inhalt der Über-uns-Seite. Das bedeutet, dass du eine einzige README sowohl für npm als auch für den Twenty-Marktplatz pflegen kannst. Wenn du im Marktplatz eine andere Beschreibung möchtest, setze aboutDescription explizit.

CI-Veröffentlichung

Verwenden Sie diesen GitHub-Actions-Workflow, um bei jedem Release automatisch zu veröffentlichen (verwendet OIDC):
name: Publish
on:
  release:
    types: [published]

permissions:
  contents: read
  id-token: write

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: "24"
          registry-url: https://registry.npmjs.org
      - run: yarn install --immutable
      - run: npx twenty build
      - run: npm publish --provenance --access public
        working-directory: .twenty/output
Für andere CI-Systeme (GitLab CI, CircleCI usw.) gelten die gleichen drei Befehle: yarn install, yarn twenty build und anschließend npm publish aus .twenty/output.
npm-Provenance ist optional, wird jedoch empfohlen. Das Veröffentlichen mit --provenance fügt Ihrem npm-Eintrag ein Vertrauensabzeichen hinzu, sodass Nutzer überprüfen können, dass das Paket aus einem bestimmten Commit in einer öffentlichen CI-Pipeline gebaut wurde. Siehe die npm-Provenance-Dokumentation für Einrichtungshinweise.

Apps installieren

Sobald eine App veröffentlicht (npm) oder bereitgestellt (Tarball) wurde, können Arbeitsbereiche sie über die Benutzeroberfläche installieren. Gehen Sie zur Seite Einstellungen > Anwendungen in Twenty, auf der sowohl Marktplatz- als auch per Tarball bereitgestellte Apps durchsucht und installiert werden können. Sie können Apps auch über die Befehlszeile installieren:
yarn twenty install