@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 hscms
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 hscms auth oauth2
or npx hscms 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
hscms help
Upload an asset using the file mapping service
hscms upload --portal=DEV [src] [dest]
Fetch a file or directory by path
hscms fetch --portal=DEV [path] [dest]
hscms fetch --portal=DEV --overwrite [path] [dest]
Sync a directory of files using the file mapping service
hscms sync --portal=DEV [src] [dest]
Watch a directory of files and automatically upload changes
hscms watch --portal=DEV [src] [dest]
Create a new asset
hscms create [type] [dest]
Delete a file or folder from HubSpot
hscms remove [path]
Authenticate against a portal using OAuth2
hscms auth oauth2