Letzte Änderung: 11. September 2025
Wenn Sie zuvor eine private App mit der vorherigen Version des Entwicklerframeworks erstellt haben, können Sie die Konfiguration Ihrer App manuell in das neue Framework (2025.2
migrieren).
In dieser Anleitung erfahren Sie, wie das geht:
- Sie klonen zunächst Ihr vorhandenes Projekt, damit die ursprünglichen Dateien als Backup dienen können. Anschließend können Sie alle zugeordneten Konfigurationsdateien überprüfen, um sicherzustellen, dass sie mit dem neuen Projektschema übereinstimmen. Dies erfordert geringfügige Aktualisierungen der Namen und der Struktur Ihrer Komponentenkonfigurationsdateien sowie ihrer jeweiligen Eigenschaften.
- Anschließend aktualisieren Sie Ihre vorhandenen übergeordneten
hsproject.json
- undapp.json
-Konfigurationsdateien.- Sie können dann in den folgenden Abschnitten die Konfiguration für Ihre App-Komponenten aktualisieren, damit sie der Version
2025.2
der Entwicklerplattform entspricht, basierend auf den vorhandenen Funktionen, die Sie eingerichtet haben (z. B. eine App-Karte, die mit UI-Erweiterungen erstellt wurde). - Beachten Sie bitte, dass mit Ausnahme der
hsproject.json
-Datei alle anderen Konfigurationsdateien einem vorhersehbaren Benennungsschema folgen (*-hsmeta.json
, wobei das*
auf dem spezifischen Verzeichnis oder der Komponente basiert) und alle dieselben Top-Level-Eigenschaften haben:
- Sie können dann in den folgenden Abschnitten die Konfiguration für Ihre App-Komponenten aktualisieren, damit sie der Version
- Nachdem Sie alle Komponenten Ihres geklonten vorhandenen Projekts aktualisiert haben, laden Sie Ihr neues Projekt als Teil des letzten Schritts in diesem Handbuch in Ihren HubSpot-Entwickler-Account hoch.
Beachten Sie bitte die folgenden Beschränkungen, bevor Sie Ihre private App migrieren:
- Die HubSpot-CLI-Migrationsbefehle werden für vorhandene private Apps nicht unterstützt, da die automatische Migration derzeit nicht unterstützt wird.
- Die Unterstützung für die GitHub-Integration, die automatische Uploads und Builds von GitHub auslöst, ist noch nicht verfügbar. Wenn Ihr vorhandenes Projekt derzeit mit GitHub verknüpft ist, stellen Sie bitte sicher, dass Sie die Integration deaktivieren, bevor Sie mit der Migration beginnen. Wie Sie die GitHub-Integration deaktivieren und GitHub-Aktionen zur Automatisierung von CI/CD einrichten, erfahren Sie in diesem Artikel.
Klonen Ihrer vorhandenen Projektkonfigurationsdateien
Bevor Sie Aktualisierungen vornehmen, klonen Sie bitte Ihr vorhandenes Projekt, damit Sie über ein Backup verfügen, auf das Sie zurückgreifen können oder auf das Sie ausweichen können, falls Probleme auftreten. Nachdem Sie Ihr Projekt geklont haben, öffnen Sie die geklonten Projektdateien in Ihrer bevorzugten IDE, z. B. VSCode. Wenn Sie nach einem minimalen Projekt suchen, das mit den neuen2025.2
-Schemata konform ist, auf die Sie verweisen können, dann laden Sie eine Boilerplate-Vorlage herunter:
- Stellen Sie sicher, dass Sie die neueste Beta-Version des HubSpot-CLI installiert haben, indem Sie den Befehl
npm i -g @hubspot/cli@next
ausführen, und es miths auth
- undhs accounts use
-Befehlen mit Ihrem Account verknüpfen. - Führen Sie den folgenden Befehl in Ihrem Terminal aus, um ein Projekt mit der Boilerplate-Vorlage für eine App mit
private
-Verteilung undstatic
-Authentifizierung zu erstellen.
- Befolgen Sie die Aufforderungen, um einen Namen und ein lokales Verzeichnis anzugeben, in das die Boilerplate-Vorlage heruntergeladen werden soll.
- Wenn Sie aufgefordert werden, eine Vorlage auszuwählen, wählen Sie Erste Schritte für ein Projekt mit einer privaten App mithilfe eines Zugriffstokens aus.
- Öffnen Sie das neu erstellte Projekt in Ihrem bevorzugten Editor. Sie können dann die Projektverzeichnisstruktur und die zugehörigen
*-hsmeta.json
-Schemadateien mit Ihrem bestehenden Projekt vergleichen, um sicherzustellen, dass die Spezifikationen gegebenenfalls übereinstimmen. Beachten Sie bitte, dass die Vorlage als Referenz verwendet, aber nicht direkt bearbeitet werden sollte, da empfohlen wird, wie oben beschrieben alle Änderungen in der geklonten Version Ihres Projekts vorzunehmen.
2025.2
der Entwicklerplattform finden Sie im App-Konfigurationsleitfaden .
Aktualisieren Ihrer hsproject.json-Konfiguration
Die Änderungen an der obersten Ebenehsproject.json
beinhalten geringfügige Änderungen an den name
- und platformVersion
-Eigenschaften, wie in den folgenden Codeblöcken aufgeführt:
Vorher:
hsproject.json
-Datei in Ihrem Projekt befindet sich auf der neuen Entwicklerplattform am selben Speicherort, aber Sie müssen die platformVersion
auf "2025.2"
aktualisieren. Sie sollten das name
-Feld auch mit einem eindeutigen Namen aktualisieren, damit Ihr vorhandenes Projekt beim Hochladen nicht überschrieben wird. Wenn der Name Ihrer vorhandenen privaten App beispielsweise My private app
war, können Sie (Developer Platform v2025.2)
oder etwas Ähnliches hinzufügen, um sie von der alten App zu unterscheiden.
Das Top-Level-Schema Ihrer App überprüfen
Die folgenden Codeblöcke enthalten Beispiele für die Konfiguration vor und nach den erforderlichen Änderungen: Vorher (src/app/app.json
):
src/app/app-hsmeta.json
):
app.json
-Datei angegeben. Diese Konfigurationsdetails für Ihre App werden jetzt in Ihrer App-Schemadatei in der /src/app/app-hsmeta.json
-Datei angegeben. Die wichtigsten Änderungen zwischen Ihrer alten app.json
- und der neuen app-hsmeta.json
-Konfiguration umfassen Folgendes:
- Die Top-Level-Eigenschaft
public
wurde durchdistribution
ersetzt und sollte aufprivate
festgelegt werden. Beachten Sie bitte, dass dietype
-Untereigenschaft desauth
-Feldes aufstatic
festgelegt werden sollte, wodurch die Installation Ihrer App auf einen einzigen Account beschränkt wird. Im App-Konfigurationsleitfaden erfahren Sie mehr über App-Verteilung und -Authentifizierung. - Die Bereiche Ihrer App werden jetzt als Untereigenschaft des
auth
-Feldes angegeben und zwischenrequiredScopes
,conditionallyRequiredScopes
undoptionalScopes
aufgeteilt. Weitere Informationen zum Angeben der einzelnen Bereichstypen finden Sie im App-Konfigurationsleitfaden. - Sie müssen die Top-Level-Eigenschaft
extensions
aus Ihrem vorherigen Projekt nicht definieren, da die Eigenschaft in der neuenapp-hsmeta.json
-Datei nicht vorhanden ist. Alle zuvor konfigurierten UI-Erweiterungen (z. B. Karten auf der CRM-Datensatzseite) werden mithilfe descards/
-Verzeichnisses Ihres Projekts verwaltet. Innerhalb dieses Verzeichnisses werden die Kartenkonfigurationsdetails in einer*-hsmeta.json
-Datei angegeben, zusammen mit dem Komponentencode für Ihre Karte in einer.jsx
-Datei, auf die mithilfe derentrypoint
-Eigenschaft der*-hsmeta.json
-Datei verwiesen wird. - Sie müssen auch nicht über die Top-Level-Eigenschaft
webhooks
aus Ihrem vorherigen Projekt in der neuenapp-hsmeta.json
-Datei definieren, da Webhooks mithilfe deswebhooks/
-Verzeichnisses Ihres Projekts konfiguriert und verwaltet werden. Weitere Informationen finden Sie weiter unten im Abschnitt Webhook-Abonnements migrieren.
Konfiguration einzelner Komponenten aktualisieren
In den folgenden Abschnitten wird beschrieben, wie Sie UI-Erweiterungen und Webhooks auf Ihre neue App portieren. Wenn Ihre alte App keine dieser Komponenten hatte, können Sie zum Abschnitt Ihr Projekt hochladen springen.CRM-Karten migrieren, die mit UI-Erweiterungen erstellt wurden
Die folgenden Codeblöcke enthalten Beispiele für die Konfiguration vor und nach den erforderlichen Änderungen: Vorher (src/app/extensions/card.json
):
src/app/cards/example-app-card-hsmeta.json
):
cards/
-Verzeichnis Ihres Projekts konfiguriert und ersetzen das vorherige extensions/
-Verzeichnis Ihres alten Projekts. Innerhalb des neuen cards/
-Verzeichnisses werden die Details der Kartenkonfiguration in einer *-hsmeta.json
-Datei zusammen mit dem Komponentencode für Ihre Karte angegeben, der in einer .jsx
-Datei bereitgestellt wird, auf die mithilfe der entrypoint
-Eigenschaft der *-hsmeta.json
-Datei verwiesen wird.
Um den UI-Erweiterungscode Ihrer alten App zu portieren, kopieren Sie alle relevanten Werte aus Ihrer alten app.json
-App in die zugehörigen Eigenschaften in der *-hsmeta.json
-Datei im cards/
-Verzeichnis, wobei Sie dabei die folgenden Änderungen beachten sollten:
- Der Wert der
type
-Eigenschaft wurde von"crm-card"
in"card"
geändert. - Die
uid
-Eigenschaft wurde von einer Untereigenschaft desdata
-Feldes nach oben verschoben und wird nun auf der obersten Ebene Ihrer Konfiguration angegeben. - Die
data
-Eigenschaft wurde inconfig
geändert und enthält die folgenden Untereigenschaften:- Die
title
-Eigenschaft wurde inname
umbenannt. - Eine neue
description
-Eigenschaft ermöglicht es Ihnen, mehr Kontext zur Funktionalität Ihrer Karte bereitzustellen. Die Beschreibung wird in den Projekteinstellungen Ihrer App angezeigt. - Die
module
-Eigenschaft wurde inentrypoint
umbenannt und der Wert sollte nun eine Zeichenfolge sein, die den Pfad zu Ihrer JSX-Komponente darstellt, relativ zum Stamm Ihres Projekts (z. B."/app/cards/example-app-card.jsx"
). - Die
objectTypes
-Eigenschaft wurde vereinfacht und besteht jetzt aus einem Array von Zeichenfolgen, die die Objekttypen darstellen, in denen Ihre Karte angezeigt werden soll (z. B.["CONTACT", "COMPANY"]
). - Die
location
-Eigenschaft bleibt unverändert und kann aufcrm.record.tab
,crm.record.sidebar
oderhelpdesk.sidebar
festgelegt werden.
- Die
example-app-card-hsmeta.json
-Beispielkonfigurationsdatei und eine example-app-card.jsx
-JSX-Komponente im src/app/cards
-Verzeichnis bereitgestellt.
Eine vollständige Anleitung zum Erstellen von App-Karten auf der neuen Entwicklerplattform finden Sie in diesem Artikel.
Webhook-Abonnements migrieren
Die folgenden Codeblöcke enthalten Beispiele für die Konfiguration vor und nach den erforderlichen Änderungen: Vorher (src/app/webhooks/webhooks.json
):
src/app/webhooks/webhooks-hsmeta.json
):
webhooks/
-Verzeichnis Ihres Projekts verwaltet. Innerhalb des Verzeichnisses werden die Abonnementdetails in einer *-hsmeta.json
-Datei angegeben. Die Struktur der Datei ähnelt weitgehend dem vorherigen webhooks.json
-Schema in Ihrer privaten App, mit den folgenden nennenswerten Änderungen:
- Auf der obersten Ebene Ihrer
*-hsmeta.json
-Datei muss eine erforderlicheuid
-Eigenschaft definiert werden, die einen Namen erhalten sollte, um sie von anderen App-Funktionen zu unterscheiden (z. B."migrated_private_app_webhooks"
). - Eine erforderliche
type
-Eigenschaft muss ebenfalls auf der obersten Ebene Ihrer*-hsmeta.json
-Konfiguration definiert und auf"webhooks"
festgelegt werden. - Die
subscriptions
- undsettings
-Eigenschaften bleiben unverändert vonwebhooks.json
, müssen jedoch in dieconfig
-Eigenschaft verschoben werden, die auf der obersten Ebene Ihrer*-hsmeta.json
-Datei definiert ist.
Ihr Projekt hochladen
Nachdem Sie die Konfiguration von Ihrer vorhandenen privaten App in die entsprechenden Unterverzeichnisse Ihres Projekts migriert haben, können Sie Ihre neue App in Ihren HubSpot-Account hochladen. Dort finden Sie das Token für den Zugriff auf Ihre App, mit dem Sie API-Anfragen authentifizieren und die Funktionen auf der neuen Entwicklerplattform weiterentwickeln können.Hinweis:
Wenn für Ihre vorhandene private App serverlose Funktionen definiert waren:- Erstellen Sie ein Backup der
src/app/app.functions
aus Ihrem alten Projekt zusammen mit allen zugeordneten Verweisen auf Ihre serverlosen Funktionen an anderer Stelle in ihrem Projekt. - Serverlose Funktionen sollten nicht im Projektverzeichnis enthalten sein, das Sie als Teil Ihrer neuen App hochladen. Wenn Sie Ihr Projekt hochgeladen haben, befolgen Sie einfach die Schritte im Abschnitt weiter unten, um das gleiche Verhalten auf der neuen Entwicklerplattform auszulösen.
Verarbeiten von serverlosen Funktionen migrieren
Wenn Ihre private App serverlose Funktionen enthält, müssen Sie Ihren eigenen REST-basierten Backend-Service erstellen und diehubspot.fetch()
-API zum Abrufen von Daten verwenden. Hierfür müssen Sie jede vorhandene Dienstlogik, die zuvor in Ihrem von HubSpot gehosteten serverlose Funktionen definiert war, sowie den Zugriffstoken für Ihre private App zu einer Hosting-Plattform eines Drittanbieters wie Vercel, DigitalOcean, AWS usw. migrieren.
So migrieren Sie Ihre serverlose Funktionslogik zu einer Hosting-Plattform eines Drittanbieters:
- Suchen Sie Ihre serverlosen Funktionen im Projekt Ihrer vorhandenen privaten App im
src/app/app.functions
-Verzeichnis. - Kopieren Sie die gesamte relevante Logik aus Ihren Funktionen. In der folgenden beispielhaften serverlosen Funktion müsste nur Zeile 4 kopiert werden.
- Fügen Sie auf der Hosting-Plattform des Drittanbieters die Logik aus Ihrer vorherigen Definition der serverlosen Funktionen ein und stellen Sie sicher, dass alle Parameternamen übereinstimmen. Sie müssen die Dokumentation zum Definieren der serverlosen Funktion auf der von Ihnen verwendeten Plattform zu Rate ziehen.
- Kopieren Sie Ihre Zugriffstokens von der Projektdetailseite Ihrer App und fügen Sie sie als Umgebungsvariable mit der Hosting-Plattform Ihres Drittanbieters hinzu, damit Sie in Ihrem Code darauf verweisen können.
-
Als Nächstes müssen Sie die
permittedUrls
-Eigenschaft Ihrer Top-Level-app-hsmeta.json
-Schemadatei aktualisieren, um dasfetch
-Feld aufzunehmen. Der Wert dieses Felds sollte auf ein Array festgelegt werden, das die URL des Endpunkts enthält, der auf der Hosting-Plattform eines Drittanbieters gehostet wird. -
Aktualisieren Sie dann alle Verweise in Ihrem React-Code auf Ihren App-Karten, um die neue URL der serverlosen Funktion aufzurufen, die Sie eingerichtet haben. In diesem Leitfaden erfahren Sie mehr über die Verwendung von
hubspot.fetch()
.
Bereinigen
Nachdem Sie Ihr neues Projekt erfolgreich hochgeladen, alle serverlosen Funktionen migriert haben (falls zutreffend) und Ihre App vollständig getestet haben, um zu bestätigen, dass das Verhalten gleich ist, können Sie Ihr altes Projekt in Ihrem HubSpot-Entwickler-Account löschen. Denken Sie daran, dass Sie das ursprüngliche Backup Ihres Projekts immer noch lokal gespeichert haben, wie im ersten Schritt dieses Leitfadens beschrieben, für den Fall, dass Sie es jemals als Referenz benötigen. So löschen Sie Ihr altes Projekt aus Ihrem Entwickler-Account:- Gehen Sie in Ihrem HubSpot-Account zu Entwicklung.
- Klicken Sie auf der Seite Projekte auf den Namen Ihres alten Projekts.
- Klicken Sie auf die Registerkarte Einstellungen.
- Klicken Sie unter Dieses Projekt löschen auf [Projektnamen] löschen.
- Überprüfen Sie die Informationen im Dialogfeld, um zu bestätigen, dass Sie fortfahren möchten. Geben Sie dann den Namen Ihres Projekts ein und klicken Sie auf Projekt löschen.
