Dernière modification : 8 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.json
etapp.json
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
2025.2
de 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.json
où*
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@next
et en la connectant à votre compte à l’aide des commandeshs auth
eths 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
private
et 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
public
a été remplacée pardistribution
et doit être définie surprivate
. Notez que la sous-propriététype
du champauth
doit ê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
auth
et sont réparties entrerequiredScopes
,conditionallyRequiredScopes
etoptionalScopes
. 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
extensions
de 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.jsx
référencé à l’aide de la propriétéentrypoint
du fichier*-hsmeta.json
. - Vous n’avez pas non plus besoin de définir la propriété de premier niveau
webhooks
de 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é
type
a été modifiée de"crm-card"
à"card"
. - La propriété
uid
a été déplacée d’une sous-propriété du champdata
et est désormais spécifiée au premier niveau de votre configuration. - La propriété
data
a été remplacée parconfig
, qui comprend les sous-propriétés suivantes :- La propriété
title
a été renomméename
. - Une nouvelle propriété
description
vous 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é
module
a été renomméeentrypoint
et 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é
objectTypes
a é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é
location
reste 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é
uid
obligatoire 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é
type
requise doit également être définie au niveau supérieur de votre configuration*-hsmeta.json
et doit être définie sur"webhooks"
. - Les propriétés
subscriptions
etsettings
restent inchangées par rapport àwebhooks.json
, mais doivent être déplacées dans la propriétéconfig
dé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.functions
depuis 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é
permittedUrls
de votre fichier de schémaapp-hsmeta.json
de 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.
