プロジェクトの構成
- 全てのプロジェクトコンポーネントは、最上位レベルの
hsproject.json設定ファイルで指定されたsrcディレクトリー内に配置される必要があります。 - アプリの全ての機能とコンポーネントは
src/app/ディレクトリー内に配置される必要があります。このapp/ディレクトリー内に、アプリでサポートする予定の機能ごとのサブディレクトリーを次のように定義します。- アプリイベントは
app-events/内で設定されます。 - アプリオブジェクトは
app-objects/内で定義されます。 - 全てのカード機能は
cards/内で定義されます。 - 設定ページ機能は
settings/内で定義されます。 - テレメトリーは
telemetry/内で設定されます。 - Webhook配信登録は
webhooks/内で定義されます。 - カスタム ワークフロー アクションは
workflow-actions/内で定義されます。
- アプリイベントは
- 各機能のサブディレクトリー内で、
*-hsmeta.jsonファイルを使用して機能を設定します。ファイル名の前に、そのアプリを記述する名前(例:my-app-hsmeta.json)を付けることができます。ただし、ファイルの末尾は-hsmeta.jsonである必要があります。これらのファイルは、該当するフォルダーのルートレベルに配置されている必要があります(例:app/my-app-hsmeta.json、cards/my-card-hsmeta.json)。
app-hsmeta.jsonファイルの設定について、詳しくは下記のアプリ スキーマ セクションを参照してください。アプリの機能を追加する準備ができたら、アプリ機能の追加セクションをご覧ください。
GitHubでサンプルを表示
*-hsmeta.json設定ファイル内の各プロパティーの型検証を行うことができます。
UIDを指定する
uidフィールドは、特定のアプリ内部で一意の識別子です。また、これはプロジェクト全体で重複しないラベルにする必要があります。アプリ機能ごとに、それぞれの*-hsmeta.jsonファイル内に独自のuidが定義されます。これは、アプリのapp-hsmeta.jsonファイルで選択する最上位レベルuidとは区別される必要があります。
アプリスキーマ
アプリの最上位レベルの設定は、appディレクトリー内のapp-hsmeta.json設定ファイルの中で指定されます。
app-hsmeta.jsonで使用できる設定オプションを以下に示します。
GitHubでサンプルを表示
*でマークされたフィールドは必須です。
配布
アプリスキーマのdistributionフィールドを使用すると、アプリの配布方法を次のように設定できます。
- HubSpotアプリマーケットプレイスにアプリを掲載する予定の場合は、
distributionフィールドを"marketplace"に設定します。このオプションのアプリスキーマの例については、こちらをご覧ください。このオプションを選択する場合は、下記の認証セクションで詳しく説明されているように、authプロパティー内のtypeを必ずoauthに設定してください。 - 許可リストに含まれる特定のアカウントセットにアプリのインストールを許可する場合、またはインストールを一度に1つのアカウントに制限する場合には、
distributionを"private"に設定します。authプロパティー内のtypeを、次のように適切に設定してください。- プロジェクト設定で構成した許可リストに基づき複数のアカウントにアプリをインストールするには、認証の
typeをoauthに設定します。このオプションのアプリスキーマの例については、こちらを参照してください。 - インストールを1つのアカウント(開発に使用するのと同じアカウント、またはインストールするユーザーがアクセスできる別のアカウント)に制限するには、認証の
typeをstaticに設定します。静的認証のアプリスキーマの例については、こちらを参照してください。
- プロジェクト設定で構成した許可リストに基づき複数のアカウントにアプリをインストールするには、認証の
認証
アプリの認証を設定するには、アプリスキーマのauthプロパティーを使用します。アプリのスコープ要件、リダイレクトURL、認証タイプを指定できます。
*でマークされたフィールドは必須です。
スコープ
アプリ設定ファイルのauthフィールドでは、必須スコープ、条件次第で必須となるスコープ、任意のスコープという3種類のスコープを指定できます。
関連付けられたCRMオブジェクトタイプに顧客がアクセスできるようにするには、少なくともreadスコープをアプリに含める必要があります。
アプリ機能を追加する
Webhook配信登録、カスタム ワークフロー アクション、アプリカードなどのアプリ機能を設定するには、下記のガイドを参照して、関連する*-hsmeta.jsonファイルをプロジェクトに追加する方法を詳しくご確認ください。