@hubspot/cms-cli
⚠️ This is an alpha pre-release not intended for mission-critical usage. During the alpha/beta period expect lots of changes to commands, configuration structure, and capabilities. ⚠️
Provides an hs
command for interacting with the HubSpot CMS. Learn more about building on the HubSpot CMS.
Getting started
For more information on using these tools, see Local Development Tooling: Getting Started
Installation
Using yarn
yarn add @hubspot/cms-cli --dev
Using npm
npm install @hubspot/cms-cli --save-dev
Configuration
Once the @hubspot/cms-cli
has been added to a project, a config file named hubspot.config.yml
will also be needed. The config can be at the project level or higher up in the directory tree.
Authentication
There are two ways that the tools can authenticate with HubSpot.
OAuth2 (recommended)
- Create a developer app
- Run
yarn hs auth oauth2
or npx hs auth oauth2
and follow the steps
HubSpot API Key
- Set up an API key for the portal.
- Add an entry in the config file
defaultPortal: 'DEV'
portals:
- name: 'DEV'
portalId: 123
authType: 'apikey'
apiKey: 'd1234567-123e-7890-b123-aaa80164b4cb'
Commands
Note: When @hubspot/cms-cli
is installed local to a project, the commands need to be prefixed with either yarn
if using yarn
or npx
if using npm
.
Show all commands
hs help
Upload a file or directory to HubSpot
hs upload --portal=DEV [src] [dest]
Fetch a file or directory by path
hs fetch --portal=DEV [path] [dest]
hs fetch --portal=DEV --overwrite [path] [dest]
Watch a directory of files and automatically upload changes
hs watch --portal=DEV [src] [dest]
Create a new asset
hs create [type] [dest]
Delete a file or directory from HubSpot
hs remove --portal=DEV [path]
Authenticate against a portal using OAuth2
hs auth oauth2