@hubspot/cli
Provides an hs
command for interacting with the HubSpot. Learn more about building on HubSpot.
Getting started
For more information on using these tools, see Local Development Tooling: Getting Started
Installation
npm install -g @hubspot/cli
Configuring
Once the @hubspot/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/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]
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]
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 Access Key (recommended)
- Run
hs init
or hs 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 Test 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 Account
- Edit the hubspot.config.yml file to set the
authType
for the account to apikey
and add apiKey
as shown below:
defaultPortal: DEV
portals:
- name: DEV
portalId: 123
authType: apikey
apiKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX