Dernière modification : 10 octobre 2025
Si vous avez déjà créé une application privée sur la version précédente du cadre de développement, vous pouvez migrer manuellement la configuration de votre application vers le nouveau cadre (2025.2).
Ce guide vous explique les points suivants :
- Vous commencerez par cloner votre projet existant afin que les fichiers d’origine puissent servir de sauvegarde, puis vous pourrez examiner chacun des fichiers de configuration associés pour vous assurer qu’ils sont conformes au nouveau schéma de projet. Cela nécessitera des mises à jour mineures des noms et de la structure de vos fichiers de configuration de composants, ainsi que de leurs propriétés respectives.
- Vous mettrez ensuite à jour vos fichiers de configuration existants
hsproject.jsonetapp.jsonde premier niveau.- Vous pouvez ensuite suivre chacune des sections suivantes pour mettre à jour la configuration des composants de votre application afin qu’elle soit conforme à la version
2025.2de la plateforme de développement, en fonction des fonctionnalités existantes que vous aviez configurées (par exemple, une carte d’application créée à l’aide d’extensions d’interface utilisateur). - Notez qu’à l’exception du fichier
hsproject.json, tous les autres fichiers de configuration suivent un schéma de dénomination prévisible (*-hsmeta.jsonoù*est basé sur le répertoire ou le composant spécifique) et partagent tous les mêmes propriétés de premier niveau :
- Vous pouvez ensuite suivre chacune des sections suivantes pour mettre à jour la configuration des composants de votre application afin qu’elle soit conforme à la version
- Après avoir mis à jour tous les composants de votre projet existant cloné, vous chargerez votre nouveau projet sur votre compte de développeur HubSpot dans le cadre de la dernière étape de ce guide.
Gardez les limitations suivantes à l’esprit avant de migrer votre application privée :
- Les commandes de migration de l’ILC HubSpot ne sont pas prises en charge pour les applications privées existantes, car la migration automatique n’est pas prise en charge actuellement.
- La prise en charge de l’intégration GitHub, qui déclenche des chargements et des builds automatiques à partir de GitHub, n’est pas encore disponible. Si votre projet existant est actuellement lié à GitHub, veillez à désactiver l’intégration avant de commencer la migration. Pour désactiver l’intégration GitHub et configurer les actions GitHub pour l’automatisation CI/CD, consultez les instructions de cet article.
Cloner vos fichiers de configuration de projet existants
Avant d’effectuer toute mise à jour, clonez votre projet existant afin de disposer d’une sauvegarde à laquelle vous pouvez vous référer ou revenir en cas de problème. Après avoir cloné votre projet, ouvrez-le dans l’IDE de votre choix, comme VSCode. Si vous recherchez un projet minimal conforme aux nouveaux schémas2025.2 que vous pouvez consulter, vous pouvez télécharger un modèle de boilerplate :
- Assurez-vous que vous avez installé la dernière version bêta de l’ILC HubSpot en exécutant la commande
npm i -g @hubspot/cli@nextet en la connectant à votre compte à l’aide des commandeshs autheths accounts use. - Exécutez la commande ci-dessous dans votre terminal pour créer un projet avec le modèle de boilerplate pour une application avec distribution
privateet authentificationstatic.
- Suivez les requêtes pour fournir un nom et un répertoire local dans lequel télécharger le modèle de boilerplate.
- Lorsque vous êtes invité à sélectionner un modèle, sélectionnez Premiers pas avec une application privée utilisant un jeton d’accès.
- Ouvrez le projet que vous venez de créer dans votre éditeur préféré. Vous pouvez ensuite comparer la structure du répertoire du projet et les fichiers de schéma associés
*-hsmeta.jsonà votre projet existant pour vous assurer que les spécifications correspondent, le cas échéant. Notez que le modèle doit être utilisé comme référence, mais pas modifié directement, car il est recommandé d’apporter des modifications à la version clonée de votre projet comme indiqué ci-dessus.
2025.2 de la plateforme de développement est détaillée dans le guide de configuration de l’application.
Mettre à jour la configuration de votre hsproject.json
Les modifications apportées auhsproject.json de premier niveau impliquent des modifications mineures des propriétés name et platformVersion, comme indiqué dans les blocs de code ci-dessous :
Avant :
hsproject.json de premier niveau de votre projet se trouve au même emplacement sur la nouvelle plateforme de développement, mais vous devrez mettre à jour le platformVersion vers la version "2025.2". Vous pouvez également mettre à jour le champ name avec un nom unique afin qu’il ne remplace pas votre projet existant lorsque vous le chargez. Par exemple, si le nom de votre application privée existante a été nommé My private app, vous pouvez ajouter un élément (Developer Platform v2025.2) ou quelque chose de similaire pour le distinguer de l’ancienne application.
Examiner le schéma de premier niveau de votre application
Les blocs de code ci-dessous fournissent des exemples de configuration avant et après les modifications requises : Avant (src/app/app.json) :
src/app/app-hsmeta.json) :
app.json. Ces détails de configuration pour votre application sont désormais spécifiés avec le fichier de schéma de votre application dans le fichier /src/app/app-hsmeta.json. Les principales modifications entre votre ancienne configuration app.json et la nouvelle configuration app-hsmeta.json sont les suivantes :
- La propriété de premier niveau
publica été remplacée pardistributionet doit être définie surprivate. Notez que la sous-propriététypedu champauthdoit être définie surstatic, ce qui limitera l’installation de votre application à un seul compte. Pour en savoir plus sur la distribution et l’authentification des applications, consultez le guide de configuration de l’application. - Les domaines de votre application sont désormais spécifiés en tant que sous-propriété du champ
authet sont réparties entrerequiredScopes,conditionallyRequiredScopesetoptionalScopes. Découvrez-en davantage sur la spécification de chacun de ces types de domaine dans le guide de configuration de l’application. - Vous n’avez pas besoin de définir la propriété de premier niveau
extensionsde votre projet précédent, car la propriété n’est pas présente dans le nouveau fichierapp-hsmeta.json. Toutes les extensions d’interface utilisateur précédemment configurées (par exemple, les cartes sur la page des fiches d’informations du CRM) sont gérées à l’aide du répertoirecards/de votre projet. Dans ce répertoire, les détails de configuration de la carte sont spécifiés dans un fichier*-hsmeta.json, ainsi que le code du composant de votre carte fourni dans un fichier.jsxréférencé à l’aide de la propriétéentrypointdu fichier*-hsmeta.json. - Vous n’avez pas non plus besoin de définir la propriété de premier niveau
webhooksde votre projet précédent dans le nouveau fichierapp-hsmeta.json, car les webhooks sont configurés et gérés à l’aide du répertoirewebhooks/de votre projet. Découvrez-en davantage dans la section Migrer les abonnements webhook ci-dessous.
Mettre à jour la configuration des composants individuels
Les sections ci-dessous expliquent comment porter les extensions d’interface utilisateur et les webhooks vers votre nouvelle application. Si votre ancienne application n’avait aucun de ces composants, vous pouvez accéder à la section Charger votre projet.Migrer des cartes CRM créées avec des extensions d’interface utilisateur
Les blocs de code ci-dessous fournissent des exemples de configuration avant et après les modifications requises : Avant (src/app/extensions/card.json) :
src/app/cards/example-app-card-hsmeta.json) :
cards/ de votre projet, remplaçant l’ancien répertoire extensions/ de votre ancien projet. Dans le nouveau répertoire cards/, les détails de configuration de la carte sont spécifiés dans un fichier *-hsmeta.json, ainsi que le code du composant de votre carte fourni dans un fichier .jsx référencé à l’aide de la propriété entrypoint du fichier *-hsmeta.json.
Pour transférer le code d’extension d’interface utilisateur de votre application héritée, copiez toutes les valeurs pertinentes de votre fichier app.json hérité dans les propriétés associées dans le fichier *-hsmeta.json du répertoire cards/, en gardant à l’esprit les modifications suivantes :
- La valeur de la propriété
typea été modifiée de"crm-card"à"card". - La propriété
uida été déplacée d’une sous-propriété du champdataet est désormais spécifiée au premier niveau de votre configuration. - La propriété
dataa été remplacée parconfig, qui comprend les sous-propriétés suivantes :- La propriété
titlea été renomméename. - Une nouvelle propriété
descriptionvous permet de fournir plus de contexte sur la fonctionnalité de votre carte. La description apparaîtra dans les paramètres du projet de votre application. - La propriété
modulea été renomméeentrypointet la valeur doit maintenant être une chaîne qui représente le chemin d’accès à votre composant JSX, par rapport à la racine de votre projet (par exemple,"/app/cards/example-app-card.jsx"). - La propriété
objectTypesa été simplifiée et se présente désormais sous la forme d’un tableau de chaînes représentant les types d’objets où votre carte doit apparaître (par exemple,["CONTACT", "COMPANY"]). - La propriété
locationreste inchangée et peut être définie surcrm.record.tab,crm.record.sidebar, ouhelpdesk.sidebar.
- La propriété
example-app-card-hsmeta.json et un composant JSX example-app-card.jsx sont fournis dans le répertoire src/app/cards.
Pour un guide complet sur la création de cartes d’application sur la nouvelle plateforme de développement, consultez cet article.
Migrer les abonnements au webhook
Les blocs de code ci-dessous fournissent des exemples de configuration avant et après les modifications requises : Avant (src/app/webhooks/webhooks.json) :
src/app/webhooks/webhooks-hsmeta.json) :
webhooks/ de votre projet. Dans le répertoire, les détails de l’abonnement sont spécifiés dans un fichier *-hsmeta.json. La structure du fichier est en grande partie similaire au schéma webhooks.json précédent dans votre application privée, avec les changements notables suivants :
- Une propriété
uidobligatoire doit être définie au niveau supérieur de votre fichier*-hsmeta.json, dans lequel un nom doit être défini pour le différencier des autres fonctionnalités de l’application (par exemple,"migrated_private_app_webhooks"). - Une propriété
typerequise doit également être définie au niveau supérieur de votre configuration*-hsmeta.jsonet doit être définie sur"webhooks". - Les propriétés
subscriptionsetsettingsrestent inchangées par rapport àwebhooks.json, mais doivent être déplacées dans la propriétéconfigdéfinie au premier niveau de votre fichier*-hsmeta.json.
Charger votre projet
Après avoir migré la configuration de votre application privée existante vers les sous-répertoires respectifs de votre projet, vous pouvez charger votre nouvelle application sur votre compte HubSpot. À partir de là, vous pouvez trouver le jeton d’accès de votre application que vous pouvez utiliser pour authentifier les requêtes d’API et continuer à développer les fonctionnalités sur la nouvelle plateforme de développement.Remarque :
Si des fonctions sans serveur sont définies pour votre application privée existante :- Faites une sauvegarde de
src/app/app.functionsdepuis votre ancien projet, avec toutes les références associées à vos fonctions sans serveur ailleurs dans votre projet. - Les fonctions sans serveur ne doivent pas être incluses dans le répertoire du projet que vous chargez dans le cadre de votre nouvelle application. Une fois votre projet chargé, vous pouvez suivre les étapes de la section ci-dessous pour reproduire le même comportement de la nouvelle plateforme de développement.
Gérer la migration des fonctions sans serveur
Si votre application privée incluait des fonctions sans serveur, vous devrez créer votre propre service backend REST et utiliser l’APIhubspot.fetch() pour récupérer les données. Cela vous obligera à migrer toute logique de service existante précédemment définie dans vos fonctions sans serveur hébergées par HubSpot, ainsi que votre jeton d’accès d’application privée vers une plateforme d’hébergement tierce, telle que Vercel, DigitalOcean, AWS, etc.
Pour migrer votre logique de fonction sans serveur vers une plateforme d’hébergement tierce :
- Recherchez vos fonctions sans serveur dans le projet de votre application privée existante dans le répertoire
src/app/app.functions. - Copiez toute la logique pertinente de vos fonctions. Dans l’exemple de fonction sans serveur ci-dessous, seule la ligne 4 devrait être copiée.
- Dans la plateforme d’hébergement tierce, collez la logique de votre précédente définition de fonction sans serveur et assurez-vous que les noms des paramètres correspondent. Vous devrez consulter la documentation pour définir la fonction sans serveur sur la plateforme que vous utilisez.
- Copiez votre jeton d’accès depuis la page des détails du projet de votre application et ajoutez-le en tant que variable d’environnement avec votre plateforme d’hébergement tierce afin qu’il puisse être référencé dans votre code.
-
Ensuite, vous devez mettre à jour la propriété
permittedUrlsde votre fichier de schémaapp-hsmeta.jsonde premier niveau pour inclure le champfetch. La valeur de ce champ doit être définie sur un tableau qui inclut l’URL de votre point de terminaison hébergé sur votre plateforme d’hébergement tierce. -
Ensuite, mettez à jour toutes les références dans votre code React dans vos cartes d’application pour appeler la nouvelle URL de fonction sans serveur que vous avez configurée. Vous pouvez en apprendre davantage sur l’utilisation de
hubspot.fetch()dans ce guide.
Nettoyer
Une fois que vous avez chargé avec succès votre nouveau projet, migré toutes les manipulations de fonctions sans serveur (le cas échéant) et testé entièrement votre application pour confirmer la cohérence du comportement, vous pouvez supprimer votre ancien projet dans votre compte développeur HubSpot. N’oubliez pas que vous disposez toujours localement de la sauvegarde d’origine de votre projet, comme indiqué dans la première étape de ce guide, au cas où vous en auriez besoin comme référence. Pour supprimer votre ancien projet de votre compte développeur :- Dans votre compte HubSpot, naviguez vers Développent.
- Sur la page Projets, cliquez sur le nom de votre ancien projet.
- Cliquez sur l’onglet Settings.
- Sous Supprimer ce projet, cliquez sur Supprimer [nom du projet].
- Passez en revue les informations affichées dans la boîte de dialogue pour confirmer que tout est prêt. Puis, saisissez le nom de votre projet et cliquez sur Supprimer le projet.
