HubSpot CLIコマンド
このガイドは、HubSpotのローカル開発ツールで使用できるコマンドとファイル形式のオプションのリファレンスとしてご利用ください。ツールの使い方の概要については、ローカル開発のチュートリアルを参照してください。
全てのコマンドとそれぞれの定義を表示します。特定のコマンドの詳細を確認するには、そのコマンドの末尾に--help
を追加します。
HubSpotのローカル開発ツールは、グローバル(推奨)またはローカルにインストールできます。HubSpotツールをグローバルにインストールするには、コマンドラインで以下のコマンドを実行します。ローカルにインストールするには、コマンドから-g
を省略します。
ツールを現在のディレクトリーにのみインストールするには、以下のコマンドを実行します。CLIがすでにグローバルにインストールされている場合、ローカルにインストールする必要はありません。
インストール時にEACCESエラーが発生した場合
パッケージをグローバルにインストールする際のNPM Resolving EACCESアクセス許可エラー(英語)を参照してください。
CLIは定期的に更新されます。最新バージョンのローカルツールにアップグレードするには、次のコマンドを実行します。
CLIは@hubspot/cms-cli
から@hubspot/cli
に変更されました。古いcms-cliを使用している場合は、アンインストールしてから新しいバージョンをインストールする必要があります。
ご使用のバージョンを確認するには、hs --version
を実行します。
バージョン番号が3.0.0未満の場合は、古いバージョンです。
古いバージョンをアンインストールするには、npm uninstall -g @hubspot/cms-cli
を実行します。
以降に記載するコマンドを使用すると、CLIでHubSpotアカウントを認証して、アカウントを利用できるようになります。CLIでのアカウント認証がまだ済んでいない場合は、まず、hs init
を実行してhubspot.config.yml
ファイルを作成します。このファイルに、接続されている全てのHubSpotアカウントの詳細が含まれます。以下のコマンドは、このファイルを操作するものです。
詳しくは、ローカル開発を開始するためのガイドをご覧ください。
現在のディレクトリー内にhubspot.config.yml
ファイルを作成し、アカウントの認証を設定します。新しいアカウントの認証を既存の設定ファイルに追加するには、authコマンドを実行します。アカウントに使用する名前の入力が求められた際、この名前にスペースを含めることはできません。
パーソナル アクセス キーを使用して、HubSpotアカウントに対する認証を生成します。こちらでアクセスキーを生成することができます。既存のhubspot.config.yml
ファイルがある場合は、このコマンドを使用して他のアカウントの資格情報を追加できます。例えば、サンドボックスアカウントを開発環境として使用できます。アカウントに使用する名前の入力が求められた際、この名前にスペースを含めることはできません。
設定ファイル内の各アカウントの名前、ID、認証タイプを表示します。期待したアカウントが表示されない場合、authコマンドを実行してアカウントを設定ファイルに追加する必要があります。
設定ファイル内に既定のアカウントを指定します。
Parameter | Description |
---|---|
accountNameOrID
| 新しい既定のアカウントをその名前(設定ファイルに設定されている名前)またはIDで識別します。 |
設定ファイルからアカウントを削除します。
Parameter | Description |
---|---|
accountNameOrID
| 削除するアカウントをその名前(設定ファイルに設定されている名前)またはIDで識別します。 |
無効化されたHubSpotアカウントを設定ファイルから削除します。
CLIを使用すると、デベロッパー ファイル システム(デザインマネージャーのファイルシステム)とやり取りできます。以降に記載するコマンドを使用すると、ローカルで新しいアセット(モジュール、テーマなど)を作成してアカウントにアップロードしたり、HubSpotアカウント内のファイルを一覧表示したりできます。また、既存のファイルをローカル環境にダウンロードすることもできます。
デベロッパー ファイル システムに保存されているファイルの一覧を、パスに基づいて、またはルートから表示します。コンピューターの現在のディレクトリーを表示する標準のls
と同じように使用できます。
引数 | Description |
---|---|
dest
任意
| ファイルの一覧を表示する、リモートのデベロッパー ファイル システム上のディレクトリーを示すパス。省略した場合、既定でアカウントのルートが使用されます。 |
ファイル、またはディレクトリーとその子フォルダーおよびファイルを、パスに基づいてフェッチします。これにより、HubSpotアカウント内のファイルがローカル環境にコピーされます。
既定では、fetchコマンドによって既存のローカルファイルが上書きされることはありません。ローカルファイルを上書きするには、--overwrite
フラグを追加します。
引数 | Description |
---|---|
src
必須
| HubSpotデザインツールのパス |
dest
任意
| ファイルを配置するローカルディレクトリーのパス(現在の作業ディレクトリーを基準にした相対パス)。この引数は、省略すると既定で現在の作業ディレクトリーになります。 |
オプション | Description |
---|---|
--account
| 取得元の 古いバージョンのCLIとの下位互換性を確保するために、 |
--overwrite
| 取得したファイルで既存のファイルを上書きします。 |
--mode
| HubSpotからファイルの下書きバージョンと公開バージョンのいずれを取得するかを指定します。詳細はこちらを参照してください。 |
新規ローカルアセットをHubSpotアカウントにアップロードします。このコマンドによってアップロードした変更は、即座に公開されます。
引数 | Description |
---|---|
src
必須
| ローカルファイルのパス(現在の作業ディレクトリーを基準にした相対パス)。 |
dest
必須
| HubSpotデザインツールのパス。新規のパスも指定できます。 |
オプション | Description |
---|---|
--account
| 取得元の 古いバージョンのCLIとの下位互換性を確保するために、 |
--mode
| アップロードされたファイルをHubSpotで公開するかどうかを指定します。詳細はモードを参照してください。 |
--clean
| アップロード前に宛先ディレクトリーとその内容を削除するオプションのフラグ。 |
サブコマンド | Description |
---|---|
filemanager
| 指定したsrcディレクトリーをファイルマネージャーにアップロードします(デザインマネージャー上のデベロッパー ファイル システムではなく)。 注:アップロードされたファイルは「公開」に設定され、URL経由で誰でも表示できるようになります。ファイルの表示に関する設定の詳細は、ヘルプドキュメントを参照してください。 |
ローカルディレクトリーを監視し、ディレクトリーでの変更の保存時にその変更内容を自動的にHubSpotアカウントにアップロードします。保存時に行った変更は即座に公開されます。
watch
を使用する場合は、次の点に留意してください。
- 監視対象のファイルをローカル側で削除しても、HubSpotからは自動的に削除されません。ファイルを削除するには、
--remove
を使用します。 - ローカル側でフォルダーの名前を変更すると、新しいフォルダーが新しい名前でHubSpotにアップロードされます。HubSpot上にある既存のフォルダーは自動的には削除されません。フォルダーを削除するには、
--remove
を使用します。
引数 | Description |
---|---|
src
必須
| ファイルが含まれているローカルディレクトリーのパス(現在の作業ディレクトリーを基準にした相対パス)。 |
dest
必須
| HubSpotデザインツールのパス。新規のパスも指定できます。 |
オプション | Description |
---|---|
--account
| 取得元の 古いバージョンのCLIとの下位互換性を確保するために、 |
--mode
| アップロードされたファイルをHubSpotで公開するか下書きとして保存するかを指定します。モードの使用についての詳細をご確認ください。 |
--initial-upload
| ファイル保存が発生する前に初回のアップロードを実行します。 |
--remove
| ローカル環境にないファイルがHubSpotアカウント上にある場合に削除を実行します。 |
--notify=<path/to/file>
| watchが起動され、作業がアイドル状態になると、指定されたファイルにログを記録します。 |
デベロッパー ファイル システム内のファイルを特定のディレクトリーから別のディレクトリーに移動します。ローカル環境に保存しているファイルへの影響はありません。
引数 | Description |
---|---|
src
必須
| ファイルが含まれているリモートのデベロッパー ファイル システム上のディレクトリーへのパス。 |
dest
必須
| デベロッパー ファイル システム内の移動先パス。 |
オプション | Description |
---|---|
--account
| ファイル移動先となる 古いバージョンのCLIとの下位互換性を確保するために、 |
新規アセットのフォルダー/ファイルを作成します。
引数 | Description |
---|---|
type
必須
| アセットのタイプ。サポートされるタイプは次のとおりです。 |
name
必須
| 新しいアセットの名前 |
dest
任意
| 新規アセットの宛先フォルダー(現在の作業ディレクトリーを基準にした相対パス)。省略すると、既定で現在の作業ディレクトリーになります。 |
HubSpotアカウントからファイル、またはフォルダーとそこに格納されているファイルを削除します。ローカル環境に保存されているファイルとフォルダーは削除されません。このコマンドにはrmというエイリアスがあります。
引数 | Description |
---|---|
path
必須
| HubSpotデザインツールのパス |
オプション | Description |
---|---|
--account
| ファイルを削除する 古いバージョンのCLIとの下位互換性を確保するために、 |
既定でHubSpotによって自動適用されるルールがあります。この既定を上書きする方法はありません。
以下は常に無視されます。
hubspot.config.yml
/hubspot.config.yaml
node_modules
- 依存関係.*
- 非表示のファイル/フォルダー*.log
- NPMエラーログ*.swp
- vim状態のスワップファイルIcon\\r
- Mac OSのカスタムFinderアイコン__MACOSX
- Macリソースフォーク~
LinuxバックアップファイルThumbs.db
- Windows画像ファイルキャッシュehthumbs.db
- Windowsフォルダー設定ファイルDesktop.ini
- Windowsカスタムフォルダー属性情報@eaDir
- サーバーによってサムネイルが保存されるWindows Synology DiskStationの「非表示」フォルダー
# 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
HubDBコマンドは、現在開発者プレビューの段階です。現時点でも使用できますが、今後変更が加えられる可能性があります。開発者プレビューには、Developer Beta Terms(開発者向けベータ版利用規約)が適用されます。
これらのコマンドを使用して、HubDBテーブルの全ての行の作成、削除、取得、消去を行うことができます。これらのコマンドを使用するには、HubSpotアカウントにHubDBへのアクセス権が付与されている必要があります。
HubSpotアカウント上に新しいHubDBテーブルを作成します。
引数 | Description |
---|---|
src
必須
| HubDBテーブルの生成に使用するローカルJSONファイル。 |
オプション | Description |
---|---|
--account
| HubDBを作成する 古いバージョンのCLIとの下位互換性を確保するために、 |
特定のHubDBテーブルのデータをコンピューターにダウンロードします。
引数 | Description |
---|---|
tableId
必須
| HubDBダッシュボードで確認可能なHubDBテーブルのid。 |
dest
|
|
HubDBを取得すると、そのデータはtablename.hubdb.json
として保存されます。新しいテーブルを作成する際は、ソースJSONファイルを指定する必要があります。以下に、JSON形式のテーブルの例を示します。
特定のHubDBテーブル内の全ての行を消去します。
引数 | Description |
---|---|
tableId
必須
| HubDBダッシュボードで確認可能なHubDBテーブルのid。 |
オプション | Description |
---|---|
--account
| HubDBの行を消去する 古いバージョンのCLIとの下位互換性を確保するために、 |
指定したHubDBテーブルをアカウントから削除します。
引数 | Description |
---|---|
tableId
必須
| HubDBダッシュボードで確認可能なHubDBテーブルのid。 |
オプション | Description |
---|---|
--account
| HubDBを削除する 古いバージョンのCLIとの下位互換性を確保するために、 |
サーバーレス関数を作成してデバッグするには、これらのコマンドを使用します(「CMS Hub Enterprise」のみ)。
Createコマンドを使用してサーバーレス関数を作成します。このコマンドを実行すると、親ファイルと関数ファイルに名前を付けたり、メソッドとエンドポイントのパスを定義したりするなど、関数の作成を順を追ってサポートします。
アカウント上にある全てのデプロイされた関数、エンドポイント、メソッド、使用しているシークレット名、および最終更新日のリストを出力します。
引数 | Description |
---|---|
--account
| hubspot.configからのHubSpotアカウントのニックネーム。defaultAccountが 古いバージョンのCLIとの下位互換性を確保するために、 |
--json
| 全ての関数のデータを含むJSONがコマンドラインに出力されます。JSONデータには、ポータルID、関数ID、ルーティング、アセットの未加工パス、メソッド、シークレット、作成日、最終変更日が含まれます。 |
サーバーレス関数からのログを出力します。実行後の関数に格納されている全てのconsole.log
を表示します。ログには実行時間も記録されています。ログは90日間保存されます。
引数 | Description |
---|---|
endpoint-name
必須
| serverless.jsonファイル(関数ファイルへのパスではない)で定義されたエンドポイント名。 |
--file
| function.logにログを出力します。 |
--follow
| サーバーレス関数の実行時に最新の情報を取得するために、ログの末尾を表示します。 |
--latest
| 最新のログのみを出力します |
--account
| hubspot.configからのHubSpotアカウントのニックネーム。defaultPortalがhubspot.config内に設定されていない場合、このパラメーターは必須です。 古いバージョンのCLIとの下位互換性を確保するために、 |
--compact
| ログの出力/情報を非表示にします。正常終了/エラーと実行時間を返します。 |
--limit=<number>
| ログ出力の量を制限します |
A server error occurred: WARNING: The logs for this function have exceeded the 4KB limit
というエラーが発生した場合、ログが大きすぎることを意味しています。このエラーの原因は、巨大なオブジェクトが含まれるコンソールログまたは多数のコンソールログを出力しようとしたことにあります。解決するには、ログの出力を抑えるように調整してから、エンドポイントに対しコマンドを実行し直してみてください。
サーバーレス関数内で使用できるシークレットをアカウントに追加します。コマンドを実行すると、シークレットの値を求められます。
シークレットを関数に開示する(シークレットを使用する特定のエンドポイントに開示したり、全てのエンドポイントで利用できるようにグローバルに開示したりする)には、serverless.json
ファイルをシークレット名で更新します。
引数 | Description |
---|---|
secret-name
必須
| 名前またはシークレット。 |
secret-value
必須
| シークレットの値(認証の詳細など)。 |
サーバーレス関数内で使用できるシークレットの値をアカウント内で更新します。次に、シークレットの値を求められます。
引数 | Description |
---|---|
secret-name
必須
| シークレットの名前。後でシークレットを参照するために使用します。任意の固有の値を指定できますが、利便性を考えて、シンプルなものにすることをお勧めします。 |
シークレットをアカウントから削除して、サーバーレス関数内で使用不可にします。このコマンドを実行した後で、serverless.json
ファイルを編集してシークレットの名前を削除します。
引数 | Description |
---|---|
secret-name
必須
| 削除するシークレットの名前。 |
add secretsコマンドを使用して保存済みのシークレットを把握するために、アカウント内のシークレットの一覧を表示します。
開発者はHubSpotのさまざまな機能を頻繁に利用します。こうした機能はコマンドラインから直接、簡単に開くことができます。defaultAccount
または--account
の引数を使用して、アカウント上の関連付けられたツールを開くことができます。
引数 | Description |
---|---|
shortcut
必須
| ブラウザーで開くショートカットの完全な名前またはショートカットのエイリアスを指定します。 |
引数 | Description |
---|---|
--list
必須
| 全てのショートカット、エイリアス、および参照先のリストを表示します。 |
CLIを頻繁に使用する場合は、Tabでコマンドの入力を補完すると便利です。
Mac OS Xの場合:
GoogleのLighthouseツールを使用して、テーマとテンプレートが以下のカテゴリーにどの程度準拠しているかを評価します。
- アクセシビリティー
- ウェブのベストプラクティス
- パフォーマンス
- PWA
- SEO(検索エンジン最適化)ツール
以下のタイプのテンプレートが評価されます。
- ランディングページ
- ウェブサイトページ
- ブログ記事
- ブログ リスト ページ
Lighthouseのエラーが原因でスコアを生成できないテンプレートがある場合は、これらのテンプレートのリストが提供されます。
Parameter | Description |
---|---|
--theme-path
必須
| デザインマネージャーのテーマへのパス。 |
--verbose
|
|
--target
| このパラメーターは、それぞれのスコアを表示するために、デスクトップまたはモバイルのいずれにもすることができます。既定では、ターゲットはデスクトップです。 |
テーマを作成する際に次のコマンドを使用することで、CSSセレクターをテーマフィールドにマッピングするeditor-preview.json
ファイルを生成できます。これにより、コンテンツ作成者がフィールドのスタイル設定オプションの更新によってどのテーマ要素が影響を受けるかを確認できるようになります。
このコマンドを実行した後、editor-preview.json
ファイルを確認し、フィールドとセレクターが適切にマッピングされるように調整する必要があります。このコマンドでは、どのフィールドがどのセレクターに影響するかについて基本的な推測が行われるだけなので、テーマがどのように作成されているかに基づいて修正する必要があります。例えばこのコマンドでは、モジュールがスタイル設定をオーバーライドしていたり、マクロが使用されたりしていても検出できません。テーマ エディター フィールド ハイライト機能について詳細をご確認ください。
--modeオプションを指定すると、HubSpotにアップロードされたローカルでの変更を公開するかどうかを指定できます。このオプションは各コマンドに追加することも、hubspot.config.ymlファイル内に既定として設定することもできます。
--modeのオプションは、--mode=draft、--mode=publishの2つです。
--modeを指定する場合、次の優先順位が適用されます。
- コマンドに--modeを含めると、他の全ての設定よりも優先されます。
- hubspot.config.yml内でアカウントごとにdefaultModeを設定すると、コマンドに毎回--modeを含める必要がなくなります。この場合、最上位の設定よりも優先されます。
- hubspot.config.yml内で最上位にdefaultModeを設定すると、全てのアカウントに対して既定で--modeが設定されます。これにより既定の動作よりも優先されます。
- --modeの既定の動作はpublishです。
HubSpot CLIでは環境変数の使用をサポートしています。これは、GitHubアクションなどの自動化を作成する際に特に便利です。
hubspot.config.yml
の代わりに環境変数を使用するには、コマンドの実行時に--use-env
フラグを使用します。
名前 | Description |
---|---|
HUBSPOT_PORTAL_ID
必須
| HubSpotアカウントID。 |
HUBSPOT_PERSONAL_ACCESS_KEY
推奨
| HubSpotアカウント上の特定のユーザーのパーソナル アクセス キー。全ての更新がこのユーザーに関連付けられます。 |
HUBSPOT_CLIENT_ID
| OAuthクライアントID。 |
HUBSPOT_CLIENT_SECRET
| OAuthシークレット。 |
CLIには、アセットの提出前にマーケットプレイスの要件を満たすために実行できる自動テストが用意されています。全ての自動テストに合格することで必ず審査プロセスに合格できるという意味ではありません。単純な自動化以上の品質を担保するために、審査が実施されます。
テーマの検証コマンドを使用すると、テーマの自動テストを素早く実行して、アセットマーケットプレイスへの提出前に修正しておく必要がある問題を特定できます。これはCLIでは、テーマ内のアセットを表すグループに分けられ、エラーと成功のリストとして返されます。
テーマを検証する前に、まずはhs upload
を使用してアカウントにアップロードする必要があります。次に、以下のコマンドを実行して、アップロードされたテーマを検証します。
引数 | Description |
---|---|
src
必須
| デザインマネージャーのテーマフォルダーへのルート相対パス。 |
テーマの検証と同様、このコマンドを使用すると、モジュールの自動テストを素早く実行して、アセットマーケットプレイスへの提出前に修正しておく必要がある問題を特定できます。
モジュールを検証する前に、まずはhs upload
を使用してアカウントにアップロードする必要があります。次に、以下のコマンドを実行して、アップロードされたモジュールを検証します。
引数 | Description |
---|---|
src
必須
| デザインマネージャーのモジュールフォルダーへのルート相対パス。 |
貴重なご意見をありがとうございました。