@hubspot/cms-cli
v2.2.3
Published
CLI for interacting with the HubSpot CMS
Downloads
1,109
Maintainers
Keywords
Readme
This package has been renamed
The @hubspot/cms-cli
is now @hubspot/cli
. This package will receive patches and bug fixes, but we encourage you to upgrade to the new, actively maintained HubSpot CLI. To upgrade, run:
npm uninstall -g @hubspot/cms-cli
and
npm install -g @hubspot/cli
@hubspot/cms-cli
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
Configuring
Once the @hubspot/cms-cli
has been added to a project, a config file named hubspot.config.yml
will also be needed. It is recommended that the config file is kept in your $HOME
directory.
cd ~
hs init
Auto Completion
You can set up command autocompletion by running
hs completion
and copying the output to either your .bashrc
or .zshrc
, and then sourcing that file source ~/.bashrc
source ~/.zshrc
or restarting your terminal.
Commands
A full breakdown of the commands can be found on the local development tools reference page.
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
.
Initialize the CLI and create a config file
hs init
Show all commands
hs help
Upload a file or directory to the Design Manager
hs upload --account=DEV [src] [dest]
Fetch a file or directory by path from the Design Manager
hs fetch --account=DEV [path] [dest]
# Overwrite existing files
hs fetch --account=DEV --overwrite [path] [dest]
Watch a directory of files and automatically upload changes to the Design Manager
hs watch --account=DEV [src] [dest]
Create a new asset locally
hs create [type] [dest]
Delete a file or directory from the Design Manager
hs remove --account=DEV [path]
Authenticate against an account using either personalaccesskey
or oauth2
hs auth personalaccesskey
File Manager Commands
Upload a file or directory to the File Manager
hs filemanager upload --account=DEV [src] [dest]
Fetch a file or directory from the File Manager
hs filemanager fetch --account=DEV [src] [dest]
# Overwrite existing files
hs filemanager fetch --account=DEV --overwrite [path] [dest]
HubDB Commands
Create a new HubDB table
hs hubdb create <src>
Fetch a HubDB table
hs hubdb fetch <id or name> <src>
Clear all rows in a HubDB table
hs hubdb clear <id or name>
Delete a HubDB table
hs hubdb delete <id or name>
Authentication
There are three ways that the tools can authenticate with HubSpot.
Personal CMS Access Key (recommended)
- Run
hs init
orhs auth personalaccesskey
and follow the instructions
OAuth2
- Create a developer app
- Run
hs auth oauth2
- Select
OAuth2
and follow the steps
Note: The Account ID used should be the CMS Account ID (not the developer app ID). Client ID and Client Secret are from the developer app.
HubSpot API Key
- Set up an API Key for the CMS Account
- Edit the
hubspot.config.yml
file to set theauthType
for the account toapikey
and addapiKey
as shown below:
defaultPortal: DEV
portals:
- name: DEV
portalId: 123
authType: apikey
apiKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX