Comandos de la CLI de HubSpot
La CLI de HubSpot conecta tus herramientas locales de desarrollo con HubSpot, permitiéndote desarrollar en el CMS de HubSpot con control de versiones, tu editor de texto favorito y varias tecnologías de desarrollo web.
Si eres nuevo en el desarrollo de HubSpot, echa un vistazo a nuestra guía de inicio rápido, donde te guiarás a través de la instalación de la CLI hasta la publicación de una página en vivo.
Utiliza esta guía como referencia para los comandos disponibles y las opciones de formato de archivo para la herramienta de desarrollo local de HubSpot. Para conocer cómo utilizar estas herramientas, consulta el tutorial de primeros pasos con el desarrollo local.
Muestra todos los comandos y sus definiciones. Para obtener más información sobre un comando específico, agrega --help
al final del comando.
Puedes instalar las herramientas de desarrollo local de HubSpot de forma global (recomendado) o local. Para instalar las herramientas de HubSpot globalmente, en tu línea de comandos ejecuta el siguiente comando. Más información sobre la instalación de paquetes de forma global o local.
Para instalar las herramientas solo en tu directorio actual, ejecuta el siguiente comando. No es necesario instalar localmente si ya tienes la CLI instalada globalmente.
¿Se produce un error de EACCES al instalar?
Consulta NPM Resolver errores de permisos EACCESS al instalar paquetes de forma global.
La CLI se actualiza regularmente. Para actualizar a la última versión de las herramientas locales, ejecuta
La CLI ha cambiado de @hubspot/cms-cli
a @hubspot/cli
. Si todavía estás utilizando el antiguo cms-cli tendrás que desinstalarlo antes de instalar la nueva versión.
Para ver en qué versión estás, ejecuta hs --version
Si tu número de versión es inferior a la 3.0.0, estás en la versión antigua.
Para desinstalar la versión antigua ejecuta npm uninstall -g @hubspot/cms-cli
Los siguientes comandos te permiten autenticar cuentas de HubSpot con la CLI para que puedas interactuar con la cuenta. Si aún no has autenticado una cuenta con la CLI, primero ejecutarás hs init
para crear un archivo hubspot.config.yml
, que contendrá los detalles de autenticación de cualquier cuenta de HubSpot conectada. El resto de los comandos actualizarán ese archivo.
Más información en la guía Primeros pasos con el desarrollo local.
Crea tu archivo hubspot.config.yml
en el directorio actual y configura la autentificación de una cuenta. Si estás agregando la autenticación para una nueva cuenta a un archivo de configuración existente, ejecuta el comando auth. Cuando se te pida un nombre para la cuenta, el nombre no puede contener espacios.
Generar la autentificación de una cuenta de HubSpot utilizando una clave de acceso personal. Puedes generar tu clave de acceso aquí. Si ya tienes un archivo hubspot.config.yml
puedes usar este comando para agregar credenciales para cuentas adicionales. Por ejemplo, puedes utilizar tu cuenta de entorno de pruebas como entorno de desarrollo. Cuando se te pida un nombre para la cuenta, el nombre no puede contener espacios.
Muestra el nombre, el ID y el tipo de autentificación de cada cuenta en tu archivo de configuración. Si no ves las cuentas que esperas, puede que tengas que ejecutar el comando auth para agregar cuentas a tu archivo de configuración.
Establece la cuenta predeterminada en tu archivo de configuración.
Parameter | Description |
---|---|
accountNameOrID
| Identificar la nueva cuenta predeterminada por su nombre (como se establece en el archivo de configuración) o ID. |
Elimina una cuenta de tu archivo de configuración.
Parameter | Description |
---|---|
accountNameOrID
| Identificar la cuenta que se eliminará por su nombre (como se establece en el archivo de configuración) o ID. |
Elimina cualquier cuenta de HubSpot desactivada de tu archivo de configuración.
Utilizando la CLI, puedes interactuar con el sistema de archivos del desarrollador, que es el sistema de archivos del Administrador de diseño. Estos comandos te permiten crear nuevos materiales localmente, como módulos y temas, cargarlos en la cuenta, mostrar archivos en la cuenta de HubSpot o descargar archivos existentes en tu entorno local.
Indica los archivos almacenados en el sistema de archivos del desarrollador por ruta o desde la raíz. Funciona de forma similar al uso de ls
estándar para ver el directorio actual en tu computadora.
Argumentos | Description |
---|---|
dest
Opcional
| Ruta de acceso al directorio del sistema de archivos del desarrollador remoto para el que desea indicar los archivos. Si se omite, el valor predeterminado es la raíz de la cuenta. |
Obtener un archivo, o directorio y sus carpetas y archivos secundarios por ruta. Copia los archivos de tu cuenta de HubSpot en tu entorno local.
Por opción predeterminada, la búsqueda no sobrescribirá los archivos locales existentes. Para sobrescribir archivos locales, incluye la bandera --overwrite
.
Argumentos | Description |
---|---|
src
Requerido
| Ruta en las herramientas de diseño de HubSpot |
dest
Opcional
| Ruta de acceso al directorio local en el que deseas colocar los archivos, en relación con tu directorio de trabajo actual. Si se omite, este argumento será por opción predeterminada tu directorio de trabajo actual. |
Opciones | Description |
---|---|
--account
| Especifica un Admite un alias de |
--overwrite
| Sobrescribir los archivos existentes con los archivos obtenidos. |
--mode
| Especifica si se obtiene un borrador o una versión publicada de un archivo de HubSpot. Haz clic aquí para obtener más información |
Sube un nuevo activo local a tu cuenta de HubSpot. Los cambios cargados a través de este comando se activarán inmediatamente.
Argumentos | Description |
---|---|
src
Requerido
| Ruta de acceso al archivo local, relativa a tu directorio de trabajo actual. |
dest
Requerido
| La ruta en HubSpot Design Tools, puede ser una nueva ruta neta. |
Opciones | Description |
---|---|
--account
| Especifica un Admite un alias de |
--mode
| Especifica si los archivos subidos se publican en HubSpot. Consulta "modos" para obtener más información. |
--clean
| Un indicador opcional que eliminará el directorio de destino y su contenido antes de cargarlo. |
Subcomandos | Description |
---|---|
filemanager
| Sube el directorio src especificado al Administrador de archivos, en lugar de al sistema de archivos del desarrollador en el Administrador de diseño. Nota: los archivos subidos se establecerán como públicos, por lo que podrán ser vistos por cualquier persona con la URL. Consulta nuestra documentación de ayuda para obtener más detalles sobre la configuración de la visibilidad de los archivos. |
Vigila tu directorio local y sube automáticamente los cambios a tu cuenta de HubSpot al guardar. Cualquier cambio realizado al guardar se hará efectivo inmediatamente.
Ten en cuenta lo siguiente cuando utilices watch
:
- La eliminación de los archivos vigilados localmente no los eliminará automáticamente de HubSpot. Para eliminar archivos, utiliza
--remove
. - Al cambiar el nombre de una carpeta localmente, se cargará una nueva carpeta en HubSpot con el nuevo nombre. La carpeta existente en HubSpot no se eliminará automáticamente. Para eliminar la carpeta, utiliza
--remove
.
Argumentos | Description |
---|---|
src
Requerido
| Ruta de acceso al directorio local en el que se encuentran tus archivos, en relación con tu directorio de trabajo actual |
dest
Requerido
| La ruta en Herramientas de diseño de HubSpot, puede ser una nueva ruta neta. |
Opciones | Description |
---|---|
--account
| Especifica un Admite un alias de |
--mode
| Especifica si los archivos subidos se publican o se guardan como borradores en HubSpot. Más información sobre cómo usar modos. |
--initial-upload
| Hace que se produzca una carga inicial antes de que se hayan guardado los archivos. Admite un alias de |
--remove
| Hará que watch elimine los archivos de tu cuenta de HubSpot que no se encuentren localmente. |
--notify=<path/to/file>
| registrar en el archivo especificado cuando se desencadena una tarea de vigilancia y después de que los trabajadores se hayan quedado inactivos. |
Mueve los archivos del sistema de archivos del desarrollador de un directorio a otro. No afecta a los archivos almacenados localmente.
Argumentos | Description |
---|---|
src
Requerido
| Ruta de acceso al directorio del sistema de archivos del desarrollador remoto en el que se encuentran tus archivos. |
dest
Requerido
| Ruta a la que mover los materiales dentro del sistema de archivos del desarrollador. |
Opciones | Description |
---|---|
--account
| Especifica un Admite un alias de |
Crea la estructura de carpetas/archivos de un nuevo material.
Argumentos | Description |
---|---|
type
Requerido
| Tipo de material. Los tipos admitidos incluyen: |
name
Requerido
| El nombre del material nuevo |
dest
Opcional
| La carpeta de destino para el nuevo material, relativa a tu directorio de trabajo actual. Si se omite, se utilizará por opción predeterminada el directorio de trabajo actual. |
Elimina archivos, o carpetas y sus archivos, de tu cuenta de HubSpot. Esto no elimina los archivos y carpetas almacenados localmente. Este comando tiene un alias de rm.
Argumentos | Description |
---|---|
path
Requerido
| Ruta en las herramientas de diseño de HubSpot |
Opciones | Description |
---|---|
--account
| Especifica un Admite un alias de |
Puedes incluir un archivo .hsignore para especificar los archivos que no deben tener seguimiento cuando se utiliza la CLI. Este archivo funciona de forma similar a como lo hacen los archivos .gitignore
. Los archivos que coinciden con los patrones especificados en el archivo .hsignore no se subirán a HubSpot cuando se utilicen los comandos upload o watch.
Por opción predeterminada hay algunas reglas que HubSpot aplica automáticamente. No hay forma de anular estos valores predeterminados.
Los siguientes son siempre ignorados:
hubspot.config.yml
/hubspot.config.yaml
node_modules
- dependencias.*
- archivos/carpetas ocultos*.log
- registro de errores de NPM*.swp
- archivo de intercambio para el estado de VimIcon\\r
- icono personalizado del Finder de Mac OS__MACOSX
- bifurcación de recursos de Mac~
archivo de copia de seguridad de LinuxThumbs.db
- caché de archivos de imagen de Windowsehthumbs.db
- archivo de configuración de la carpeta de WindowsDesktop.ini
- información de atributos de carpetas personalizadas de Windows@eaDir
- carpeta "oculta" de Windows Synology diskstation donde el servidor almacena las miniaturas.
# ignore all files within a specific directory
/ignore/ignored
# ignore a specific file
/ignore/ignore.md
# ignore all .txt files
*.txt
# ignore all log files - useful if you commonly output serverless function logs as files.
*.log
Los comandos de HubDB están actualmente en la versión preliminar para desarrolladores. Ya están disponibles para su uso, pero entiende que están sujetos a cambios. Las versiones preliminares para desarrolladores están sujetas a nuestros términos de beta para desarrolladores.
Utiliza estos comandos para crear, eliminar, recuperar y borrar todas las filas de una tabla de HubDB. La cuenta de HubSpot debe tener acceso a HubDB para utilizar estos comandos.
Crea una nueva tabla de HubDB en la cuenta de HubSpot.
Argumentos | Description |
---|---|
src
Requerido
| El archivo JSON local que se utilizará para generar la tabla de HubDB. |
Opciones | Description |
---|---|
--account
| Especifica un Admite un alias de |
Descarga los datos de una tabla de HubDB en tu ordenador.
Argumentos | Description |
---|---|
tableId
Requerido
| ID de la tabla HubDB que se encuentra en el panel de HubDB. |
dest
| El destino de la ruta local para almacenar el |
Cuando obtienes un HubDB los datos se almacenan como tablename.hubdb.json
. Cuando se crea una nueva tabla se debe especificar un archivo JSON de origen. A continuación se muestra un ejemplo de tabla en formato JSON.
Borra todas las filas de una tabla de HubDB.
Argumentos | Description |
---|---|
tableId
Requerido
| ID de la tabla HubDB que se encuentra en el panel de HubDB. |
Opciones | Description |
---|---|
--account
| Especifica un Admite un alias de |
Elimina la tabla de HubDB especificada de la cuenta.
Argumentos | Description |
---|---|
tableId
Requerido
| ID de la tabla HubDB que se encuentra en el panel de HubDB. |
Opciones | Description |
---|---|
--account
| Especifica un Admite un alias de |
Utiliza estos comandos para crear y depurar funciones sin servidor (solo CMS Hub Enterprise).
Crea una función sin servidor usando el comando create. La ejecución de este comando te guiará a través de los pasos de crear la función, como asignar nombrar a su archivo principal y de función y definir sus métodos y ruta de endpoint.
Imprime una lista de todas las funciones de la cuenta, sus puntos finales, métodos, los nombres de los secretos que utilizan y la última fecha de actualización.
Argumentos | Description |
---|---|
--account
| El apodo de la cuenta de HubSpot de tu hubspot.config. Este parámetro es necesario si no tienes una defaultAccount en tu Admite un alias de |
--json
| Salida JSON en la línea de comandos con los datos de todas las funciones. Los datos JSON incluyen, el id del portal, el id de la función, la ruta, la ruta de materiales sin procesar, el método, los secretos, las fechas de creación y de última modificación. |
Imprime un registro de su función sin servidor. Muestra cualquier console.logs
contenido dentro de tu función después de la ejecución. Los registros también incluyen el tiempo de ejecución. Los registros se conservan durante 90 días.
Argumentos | Description |
---|---|
endpoint-name
Requerido
| El nombre del punto de terminación definido en tu archivo serverless.json (no es la ruta al archivo de función). |
--file
| Envía los registros a function.log |
--follow
| Sigue los registros para obtener una actualización en vivo mientras ejecuta tus funciones sin servidor. |
--latest
| Envía solo el registro más reciente |
--account
| El apodo de la cuenta de HubSpot de tu hubspot.config. Este parámetro es necesario si no tienes un defaultPortal en su hubspot.config. Admite un alias de |
--compact
| oculta la salida/información del registro. Devuelve éxito/error y tiempo de ejecución. |
--limit=<number>
| limitar la cantidad de registros mostrados en la salida |
Si recibes este error: A server error occurred: WARNING: The logs for this function have exceeded the 4KB limit
, tu registro es demasiado grande. Esto puede ser causado por tratar de registrar en la consola un objeto muy grande, o por muchos de registros de consola separados. Para resolver esto, reduce la cantidad que estás tratando de registrar, alcanza tu punto de terminación, y luego ejecuta el comando de nuevo.
Agrega un secreto a tu cuenta que puede ser utilizado dentro de las funciones sin servidor. Después de ejecutar el comando se te pedirá que introduzcas el valor del secreto.
Para exponer el secreto a tu función, actualiza tu archivo serverless.json
con el nombre del secreto, ya sea para los puntos de terminación específicos en los que quieras usarlo o globalmente para que esté disponible para todos.
Argumentos | Description |
---|---|
secret-name
Requerido
| Nombre del secreto. |
secret-value
Requerido
| El valor del secreto (detalle de autentificación, o de otro modo). |
Actualiza el valor de un secreto en tu cuenta que puede ser utilizado dentro de las funciones sin servidor. A continuación, se te pedirá que introduzcas el valor del secreto.
Argumentos | Description |
---|---|
secret-name
Requerido
| Nombre del secreto. |
secret-value
Requerido
| El valor del secreto (detalle de autentificación, o de otro modo). |
Elimina un secreto de tu cuenta, haciendo que ya no se pueda utilizar dentro de las funciones sin servidor. Después de ejecutar este comando, edita tu archivo serverless.json
para eliminar el nombre del secreto.
Argumentos | Description |
---|---|
secret-name
Requerido
| Nombre del secreto que deseas eliminar. |
Enumera los secretos dentro de tu cuenta para saber qué has almacenado ya utilizando el comando de agregar secretos.
Hay muchas partes de la aplicación de HubSpot a las que los desarrolladores necesitan acceder con frecuencia. Para facilitar el acceso a estas herramientas, puede abrirlas directamente desde la línea de comandos. Tu argumento defaultAccount
o --account
se utilizará para abrir la herramienta asociada a esa cuenta.
Argumentos | Description |
---|---|
shortcut
Requerido
| Proporciona el nombre completo del atajo o el alias del atajo que deseas abrir en tu navegador. |
Argumentos | Description |
---|---|
--list
Requerido
| Enumera todos los accesos directos, sus alias y destinos. |
Si utilizas la CLI con frecuencia, puede ser útil poder tabular para autocompletar comandos.
Para Mac OS X
Utiliza las herramientas Lighthouse de Google para puntuar la calidad de tus temas y plantillas por su adherencia a las siguientes categorías:
- Accesibilidad
- Mejores prácticas en la web
- Rendimiento
- PWA
- SEO
Los siguientes tipos de plantillas se califican:
- Páginas de destino
- Páginas del sitio web
- Publicaciones de blog
- Página de contenido de blogs
Si alguna plantilla no genera una puntuación debido a errores de Lighthouse, se proporcionará una lista de estas plantillas.
Parameter | Description |
---|---|
--theme-path
Requerido
| Ruta a un tema en el Administrador de diseño. |
--verbose
|
|
--target
| Esto puede ser de escritorio o móvil para ver las puntuaciones respectivas. Por opción predeterminada, el destino es el escritorio. |
Al crear un tema, usa el siguiente comando para generar un archivo editor-preview.json
que asigne los selectores de CSS a los campos de tema. Esto permite a los creadores de contenido ver qué elementos del tema se verán afectados por las actualizaciones de las opciones de estilo de un campo.
Después de ejecutar el comando, deberás revisar y refinar el archivo editor-preview.json
para asegurarte de que los campos y los selectores estén asignados correctamente. Si bien este comando hará una conjetura rudimentaria sobre qué campos afectan a qué selectores, deberás hacer correcciones en función de cómo se construye tu tema. Por ejemplo, este comando no puede detectar cuándo los módulos están anulando el estilo o cuando estás usando macros. Más información sobre cómo resaltar campos en el editor de temas.
La opción --mode permite determinar si los cambios locales se publican cuando se suben a HubSpot. Esta opción puede utilizarse en cada comando o establecerse por opción predeterminada en tu archivo hubspot.config.yml .
Las dos opciones para --mode son --mode=draft y --mode=publish.
El siguiente es el orden de precedencia para configurar --mode:
- El uso de --mode en un comando anulará todos los demás ajustes.
- Al establecer un defaultMode para cada cuenta en tu archivo hubspot.config.yml, se elimina la necesidad de utilizar --mode en cada comando. Anulará la configuración de nivel superior.
- Estableciendo un defaultMode en el nivel superior de tuarchivo hubspot.config.yml, establece un modo por defecto para todas las cuentas. Anulará el comportamiento predeterminado.
- El comportamiento predeterminado de --mode es publicar
La CLI de HubSpot soporta el uso de variables de entorno, esto puede ser especialmente útil cuando se crean automatizaciones como una Acción GitHub.
Ejecuta cualquier comando utilizando la bandera --use-env
para utilizar las variables de entorno en lugar del hubspot.config.yml
.
Nombre | Description |
---|---|
HUBSPOT_PORTAL_ID
Requerido
| El ID de la cuenta de HubSpot. |
HUBSPOT_PERSONAL_ACCESS_KEY
Recomendado
| La clave de acceso personal de un usuario en la cuenta de HubSpot. Todas las actualizaciones realizadas se asociarán a este usuario. |
HUBSPOT_CLIENT_ID
| El ID del cliente OAuth. |
HUBSPOT_CLIENT_SECRET
| El secreto de OAuth. |
Nota: desde el 30 de noviembre de 2022, las claves de API de HubSpot ya no son compatibles. El uso continuado de las claves de API de HubSpot es un riesgo de seguridad para tu cuenta y tus datos. Durante esta fase de obsolescencia, HubSpot puede desactivar tu clave en cualquier momento.
En su lugar, debes autentificarte usando un token de acceso de una aplicación privada u OAuth. Más información sobre este cambio y cómo migrar una integración de claves de API para usar una aplicación privada en su lugar.
La CLI ofrece un conjunto de pruebas automatizadas que puedes realizar en tus materiales para que se ajusten a los requisitos del mercado antes de enviarlos. Pasar todas las pruebas automatizadas no significa que vayas a pasar con seguridad el proceso de revisión, se realizan más revisiones para garantizar la calidad más allá de lo que se puede automatizar fácilmente.
El comando de validación de temas te permite ejecutar rápidamente pruebas automatizadas en tu tema para identificar los problemas que deben ser corregidos antes de su envío al mercado de materiales. Estos serán devueltos en tu CLI como una lista de mensajes de [error] y [éxito] separados en grupos que representan tipos de materiales dentro de un tema.
Antes de poder validar un tema, primero deberás cargarlo a tu cuenta con hs upload
. Luego, ejecuta el siguiente comando para validar el tema cargado.
Argumentos | Description |
---|---|
src
Requerido
| Ruta relativa de raíz a la carpeta de tema en el administrador de diseño. |
De manera similar a la validación de un tema, este comando te permite ejecutar rápidamente pruebas automatizadas en un módulo para identificar los problemas que deben ser corregidos antes de su envío al mercado de materiales.
Antes de poder validar un módulo, primero deberás cargarlo a tu cuenta con hs upload
. Luego, ejecuta el siguiente comando para validar el módulo cargado.
Argumentos | Description |
---|---|
src
Requerido
| Ruta relativa de raíz a la carpeta de módulo en el administrador de diseño. |
Gracias por tus comentarios, son muy importantes para nosotros.