Zendesk

Zendesk コネクタを使用すると、Zendesk データベースに対して、挿入、削除、更新、読み取りオペレーションを実行できます。

サポート対象バージョン

このコネクタは、Zendesk のバージョン 2 API をサポートしています。

準備

Zendesk コネクタを使用する前に、次の作業を行います。

  • Google Cloud プロジェクトで次の操作を行います。
    • コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
    • コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。詳細については、サービス アカウントを作成するをご覧ください。

    • 次のサービスを有効にします。
      • secretmanager.googleapis.com(Secret Manager API)
      • connectors.googleapis.com(Connectors API)

      サービスを有効にする方法については、サービスを有効にするをご覧ください。

    以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。

  • Zendesk API へのアクセスにメールアドレスとパスワードを使用する場合は、Zendesk の管理センターで password access を有効にします。詳細については、基本認証をご覧ください。

コネクタを構成する

コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。

  1. Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。

    [接続] ページに移動

  2. [+ 新規作成] をクリックして [接続の作成] ページを開きます。
  3. [ロケーション] セクションで、接続のロケーションを選択します。
    1. リージョン: プルダウン リストからロケーションを選択します

      サポートされているすべてのリージョンのリストについては、ロケーションをご覧ください。

    2. [NEXT] をクリックします。
  4. [接続の詳細] セクションで、次の操作を行います。
    1. コネクタ: 使用可能なコネクタのプルダウン リストから [Zendesk] を選択します。
    2. コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
    3. [接続名] フィールドに、接続インスタンスの名前を入力します。

      接続名は次の条件を満たす必要があります。

      • 接続名には英字、数字、ハイフンを使用できます。
      • 文字は小文字のみを使用できます。
      • 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
      • 接続名は 63 文字以内で指定してください。
    4. 必要に応じて、接続インスタンスの [説明] を入力します。
    5. サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
    6. イベント サブスクリプションの接続を使用するには、[イベント サブスクリプションを有効にする] を選択します。これを選択すると、次のオプションが表示されます。
      • エンティティとアクションを使用したイベント サブスクリプションを有効にする: このオプションを選択すると、イベント サブスクリプションとコネクタ オペレーション(エンティティとアクション)の両方に対して接続が使用されます。
      • イベント サブスクリプションのみを有効にする: イベント サブスクリプションに対してのみ接続を使用するには、このオプションを選択します。

      これらのどちらを選択した場合でも、以降のステップでイベントの詳細を構成するように求められます。

    7. 必要に応じて、接続ノードの設定を構成します。

      • ノードの最小数: 接続ノードの最小数を入力します。
      • ノードの最大数: 接続ノードの最大数を入力します。

      ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。

    8. プロキシを使用: このチェックボックスを選択して、接続用のプロキシ サーバーを構成し、次の値を構成します。
      • Proxy Auth Scheme: プロキシ サーバーで認証する認証タイプを選択します。次の認証タイプがサポートされています。
        • 基本: 基本的な HTTP 認証。
        • ダイジェスト: ダイジェスト HTTP 認証。
      • Proxy User: プロキシ サーバーでの認証に使用されるユーザー名。
      • プロキシ パスワード: ユーザーのパスワードの Secret Manager シークレット。
      • Proxy SSL Type: プロキシ サーバーへの接続時に使用する SSL タイプ。次の認証タイプがサポートされています。
        • 自動: デフォルトの設定。URL が HTTPS URL の場合は、[トンネル] オプションが使用されます。URL が HTTP URL の場合、[なし] オプションが使用されます。
        • 常に: 接続は常に SSL 対応です。
        • なし: 接続は SSL に対応していません。
        • トンネル: 接続はトンネリング プロキシ経由で行われます。プロキシ サーバーがリモートホストへの接続を開き、トラフィックはプロキシを経由するようになります。
      • [Proxy Server] セクションで、プロキシ サーバーの詳細を入力します。
        1. [+ 宛先を追加] をクリックします。
        2. [宛先の種類] を選択します。
          • Host address: 宛先のホスト名または IP アドレスを指定します。

            バックエンドへのプライベート接続を確立する場合は、次のようにします。

    9. 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
    10. [NEXT] をクリックします。
  5. [宛先] セクションに、接続するリモートホスト(バックエンド システム)の詳細を入力します。
    1. Destination Type: 宛先の種類を選択します。
      1. [ホストアドレス] フィールドに、宛先のホスト名または IP アドレスを指定します。
        1. バックエンド システムへのプライベート接続を確立する場合は、次のようにします。
          1. PSC サービス アタッチメントを作成します。
          2. エンドポイント アタッチメントを作成し、続いて [Host address] フィールドにあるエンドポイント アタッチメントの詳細を入力します。
        2. セキュリティをさらに強化してバックエンド システムへのパブリック接続を確立する場合は、接続用の静的送信 IP アドレスの構成を検討してから、特定の静的 IP アドレスのみを許可リストに登録するようファイアウォール ルールを構成します。

      他の宛先を入力するには、[+ 宛先を追加] をクリックします。

    2. [NEXT] をクリックします。
  6. [認証] セクションで、認証の詳細を入力します。
    1. [認証タイプ] を選択し、関連する詳細を入力します。

      Zendesk 接続でサポートされる認証タイプは次のとおりです。

      • ユーザー名とパスワードを指定する
    2. これらの認証タイプを構成する方法については、認証を構成するをご覧ください。

    3. [NEXT] をクリックします。
  7. イベント サブスクリプションを有効にしている場合は、接続作成ページに [イベント サブスクリプションの詳細] セクションが表示されます。イベント サブスクリプションの詳細の構成方法については、イベント サブスクリプションを構成するをご覧ください。
  8. Review: 接続と認証の詳細を確認します。
  9. [Create(作成)] をクリックします。

認証を構成する

使用する認証に基づいて詳細を入力します。

  • ユーザー名とパスワード
    • ユーザー名: 接続に使用する Zendesk ユーザー名。
    • パスワード: Zendesk ユーザー名に関連付けられたパスワードを含む Secret Manager の Secret。

イベント サブスクリプションを構成する

イベント サブスクリプションを有効にしている場合は、[イベント サブスクリプションの詳細] セクションに次の値を入力します。

  1. [宛先の種類] を選択します。
    • ホストアドレス: [ホスト] フィールドにバックエンド システムの登録 URL を入力します。
  2. 認証の詳細を入力します。
    1. ユーザー名: ユーザー名を入力します。
    2. パスワード: ユーザー名に関連付けられたパスワードを含む Secret Manager の Secret を選択します。
    3. Secret のバージョン: Secret のバージョンを選択します。
  3. 必要に応じて、バックエンド システムのレスポンスに付加される情報を追加するには、[データ拡充を有効にする] を選択します。

    追加情報は、イベントを構成したエンティティに固有のものです。詳しくは、イベント通知のデータ拡充をご覧ください。

  4. バックエンド アプリケーションと接続間を安全に接続するには、[プライベート接続を有効にする] を選択します。このオプションを選択した場合は、接続の作成後に追加の構成手順を実行する必要があります。詳細については、イベント サブスクリプションのプライベート接続をご覧ください。
  5. デッドレター構成を入力します。デッドレターを構成すると、指定された Pub/Sub トピックに未処理のイベントが書き込まれます。次の詳細情報を入力します。
    1. デッドレター プロジェクト ID: デッドレター Pub/Sub トピックを構成した Google Cloud プロジェクト ID。
    2. デッドレター トピック: 未処理イベントの詳細を書き込む Pub/Sub トピック。
  6. プロキシを使用してバックエンドに接続する場合は(イベント サブスクリプションの場合)、次の詳細を入力します。
    1. Proxy SSL Type: プロキシ サーバーへの接続時に使用する SSL タイプ。次のいずれかの認証タイプを選択します。
      • Always: イベント サブスクリプションに対して、接続は常に SSL 対応です。
      • Never: イベント サブスクリプションに対して接続は SSL に対応していません。
    2. Proxy Auth Scheme: プロキシ サーバーで認証する認証タイプを選択します。 次の認証タイプがサポートされています。
      • 基本: 基本的な HTTP 認証。
    3. Proxy User: プロキシ サーバーでの認証に使用するユーザー名を入力します。
    4. Proxy Password: ユーザーのパスワードの Secret Manager シークレットを選択します。
    5. Secret のバージョン: Secret のバージョンを選択します。
    6. [Proxy Server] セクションで、プロキシ サーバーの詳細を入力します。
      1. [+ 宛先を追加] をクリックし、[ホストアドレス] として [宛先タイプ] を選択します。
      2. プロキシ サーバーのホスト名または IP アドレスと、プロキシ サーバーのポート番号を入力します。

エンティティ、オペレーション、アクション

すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。

  • エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。

    ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、Entities リストは空になります。

  • オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。

    使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがどのエンティティ オペレーションもサポートしていない場合、サポートされていないオペレーションは Operations リストに表示されません。

  • アクション: コネクタ インターフェースを介して統合で使用できる最初のクラス関数です。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、Actions リストが空になります。

システムの上限

Zendesk コネクタは、ノードごとに 1 秒あたり 5 つのトランザクションを処理でき、この上限を超えるトランザクションをスロットルします。デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。

Integration Connectors に適用される上限の詳細については、上限をご覧ください。

アクション

Zendesk コネクタには、ticket ID に基づいてチケットを管理するアクションが用意されています。アクションの構成方法については、アクションの例をご覧ください。

アクションの例

このセクションでは、このコネクタのいくつかのアクションを実行する方法について説明します。

例 - チケットを削除する

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [DeleteTicketsPermanently] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
      "Id": "18"
    }
    
  4. この例では、チケットを完全に削除します。アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータは次のような値になります。

    [{
      "Success": "true"
    }]
    

例 - チケットを結合する

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [MergeTickets] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
      "Id": "25",
      "Id": "26"
    }
    
  4. この例では、2 つのチケットを結合します。アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータは次のような値になります。

    [{
      "Success": null,
      "Message": null
    }]
    

例 - チケットを復元する

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [RestoreTicket] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
      "id": "20"
    }
    
  4. この例では、チケットを復元します。アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータは次のような値になります。

    [{
      "Success": "true"
    }]
    

例 - 一時停止されたチケットを復元する

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [RecoverSuspendedTicket] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
      "id": "18726501985809"
    }
    
  4. この例では、一時停止されたチケットを復元します。アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
      "Id": "60921"
    }]
    

エンティティ オペレーションの例

例 - すべてのチケットを一覧表示する

この例では、Tickets エンティティ内のすべてのチケットを一覧表示します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. [Entity] リストからチケットを選択します。
  3. [LIST] オペレーションを選択してから、[完了] をクリックします。

例 - チケットを取得する

この例では、Tickets エンティティから ID が 35 のチケットを取得します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Tickets を選択します。
  3. [GET] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタタスクの [タスク入力 セクションで [entityId] をクリックし、[デフォルト値] フィールドに 35 を入力します。

    ここで、35Tickets エンティティの主キー値です。

例 - チケットを作成する

この例では、Tickets エンティティにチケットを作成します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Tickets を選択します。
  3. [Create] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
        "Subject": "Zendesk_Create_Ticket",
        "Description": "Test",
        "Type": "incident",
        "Priority": "urgent",
        "Status": "open",
        "Recipient": null,
        "HasIncidents": false,
        "DueAt": null,
        "RequesterId": 3.84625885158E11,
        "SubmitterId": 3.84625883418E11,
        "AssigneeId": 3.84625883418E11,
        "OrganizationId": "16665992392721",
        "GroupId": 3.60008282358E11,
        "TicketFormId": 3.60001719218E11,
        "BrandId": 3.60003285058E11
      }
      

    統合に成功すると、コネクタタスクの connectorOutputPayload フィールドの値は次のようになります。

     {
        "Id": 38.0
      }
      

例 - チケットを更新する

この例では、Tickets エンティティの ID が 35 のチケットを更新します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. [Entity] リストからチケットを選択します。
  3. [Update] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
          "Subject": "Zendesk_Ticket_Update",
          "Description": "Updating the ticket",
          "RequesterId": 1.6854335860497E13
        }
        
  5. [エンティティ ID] をクリックし、[デフォルト値] フィールドに「35」と入力します。

    [entityId] を指定する代わりに、[filterClause] を 35 に設定することもできます。

    統合に成功すると、コネクタタスクの connectorOutputPayload フィールドの値は次のようになります。

    {
           Id": 35.0
        }
        

例 - チケットを削除する

この例では、Tickets エンティティの ID が 35 のチケットを削除します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. [Entity] リストからチケットを選択します。
  3. [Delete] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタタスクの [タスク入力 セクションで [entityId] をクリックし、[デフォルト値] フィールドに 35 を入力します。

Terraform を使用して接続を作成する

Terraform リソースを使用して、新しい接続を作成できます。

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

接続作成用の Terraform テンプレートのサンプルを表示するには、サンプル テンプレートをご覧ください。

Terraform を使用してこの接続を作成する場合は、Terraform 構成ファイルで次の変数を設定する必要があります。

パラメータ名 データ型 必須 説明
proxy_enabled BOOLEAN False 接続用のプロキシ サーバーを構成するには、このチェックボックスをオンにします。
proxy_auth_scheme ENUM False ProxyServer プロキシへの認証に使用する認証タイプです。サポートされている値は、BASIC、DIGEST、NONE です。
proxy_user 文字列 False ProxyServer プロキシへの認証に使用されるユーザー名です。
proxy_password SECRET False ProxyServer プロキシの認証に使用されるパスワード。
proxy_ssltype ENUM False ProxyServer プロキシへの接続時に使用する SSL のタイプです。サポートされている値は AUTO、ALWAYS、NEVER、TUNNEL です。

統合で Zendesk 接続を使用する

接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。

  • Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
  • Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。

Google Cloud コミュニティの助けを借りる

Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。

次のステップ