アクション

用途

view: view_name {
  dimension: field_name {
    action:  {
      label: "Label to Appear in Action Menu"
      url: "https://example.com/posts"
      icon_url: "https://looker.com/favicon.ico"
      form_url: "https://example.com/ping/{{ value }}/form.json"
      param: {
        name: "name string"
        value: "value string"
      }
      form_param: {
        name:  "name string"
        type: textarea | string | select
        label:  "possibly-localized-string"
        option: {
          name:  "name string"
          label:  "possibly-localized-string"
        }
        required:  yes | no
        description:  "possibly-localized-string"
        default:  "string"
      }
      user_attribute_param: {
        user_attribute: user_attribute_name
        name: "name_for_json_payload"
      }
    }
  }
}
階層
action
使用可能なフィールドタイプ
ディメンション、メジャー

デフォルト値
なし

許可
さまざまなパラメータ

特別なルール
  • form_url の URL は Looker サーバーからアクセス可能で、有効な証明書を使用して HTTPS を使用する必要があります
  • icon_url の URL はユーザーのブラウザからアクセス可能である必要があります

定義

action パラメータは、ユーザーが Looker から直接他のツールでフィールド レベルのタスクを行えるようにするデータ アクションを作成します。たとえば、メールを送信したり、他のアプリケーションで値を設定したり、受信サーバー上で構成可能なその他のアクションを実行したりできます。受信サーバーが JSON POST を受け入れるようにする必要があります。

ディメンションまたは指標に action を定義できます。Explore ページ、Look、ダッシュボードでフィールドを選択すると、アクションにアクセスできます。

action を定義するときに、次のパラメータを使用して選択した動作を指定します。

パラメータ 説明
label 操作メニューで表示されるアクション名を指定する文字列です。
url アクションを処理する URL を指定する文字列。データ アクションの URL 許可リストが指定されている場合は、この url 値を許可リストに追加する必要があります。許可リストのパターンに一致する URL のみ、データ アクションに使用できます。既存のエントリがない場合は、データ アクションにすべての URL を使用できます。
icon_url ユーザーがこのリンクのリンク先を一目で理解できるように、画像ファイルを含む URL を指定する文字列。icon_url の値は、ユーザーのブラウザからアクセスできる必要があります。
form_url ユーザーに表示するフォームを返す URL を指定する文字列。フォームは、このページの form_url または form_param を使用してフォームの動作を指定するセクションで説明されているように、JSON 形式で表示する必要があります。form_url は Looker サーバーからアクセス可能で、有効な証明書を使用して HTTPS を使用する必要があります。
param 受信サーバーに値を渡します。
form_param このアクションに表示されるフォーム入力が追加されます。
user_attribute_param 受信サーバーにユーザー属性を渡します。データ アクションに user_attribute_param を使用している場合は、データ アクションの url 値を データ アクションの URL 許可リストに追加する必要があります。

データアクションと同様に、Looker Action Hub で利用可能なフィールド レベルのアクションを使用して、特定のセルからデータを送信することもできます。このオプションの詳細については、このページの Looker Action Hub の使用を検討するをご覧ください。

user_attribute_param を使用して受信サーバーにユーザー属性を渡す

user_attribute_param パラメータを使用すると、受信サーバーにユーザー属性を送信できます。各 user_attribute_param 内で、次のサブパラメータを指定します。

パラメータ 型 説明
user_attribute Looker ID Looker のユーザー属性の名前
name 文字列 JSON ペイロードに表示する属性の名前

param を使用して受信サーバーに値を渡す

param パラメータを使用すると、JSON ペイロードで任意のデータを送信できます。各 param 内で、次のサブパラメータを指定します。

パラメータ 型 説明
name 文字列 受信サーバーに渡すパラメータの名前
value 文字列 受信サーバーに渡すパラメータの値

param パラメータで、ユーザー認証情報などのセンシティブ データや個人情報を渡さないでください。代わりに、管理設定でユーザー認証情報をユーザー属性として構成し、この情報を user_attribute_param パラメータで渡します。

form_url または form_param を使用してフォームの動作を指定する

Looker ユーザーが操作できるフォームを作成し、JSON ペイロードでフォーム入力を送信できます。フォームを表示すると、アクションがトリガーされたページ(Explore、Look、ダッシュボード)にオーバーレイとして表示されます。これは、form_url パラメータまたは form_param パラメータのいずれかを使用して実行できます。

アクション ハブサーバーでフォーム レイアウトを定義する場合は、form_url パラメータを使用します。form_url には、このページで後述する形式の JSON 表現を返す URL を含める必要があります。

フォーム レイアウトを LookML で直接定義する場合は、form_param パラメータを使用します。

フォーム オプション

どちらの場合も、フォームの定義に使用できるオプションは次のとおりです。

オプション タイプ 説明
name 文字列 JSON ペイロードに表示される値の名前
type 入力タイプ ユーザーに表示されるフォーム フィールドのタイプ:

  • select - プルダウン リストを表示します
  • string - 1 行の入力フィールドを表示します。
  • textarea - 複数行のテキスト入力ボックスを表示します
label 文字列 ユーザーに表示される入力のラベル
description 文字列 ユーザーに表示されるフィールドの説明
required ブール値 フォームを送信する前に、ユーザーがフォーム オプションを指定する必要があるかどうかを指定します。
default 文字列 フォーム フィールドの開始値(ある場合)
option 文字列 type に select を選択した場合は、ここで選択オプションを定義します。

type を select に設定した場合は、option を使用してプルダウン リストの項目を指定します。各 option には次の詳細が含まれます。

オプション タイプ 説明
name 文字列 JSON ペイロードに表示されるフォーム値の名前
label 文字列 ユーザーに表示されるオプションのラベル(省略可)

フォームなしでデータアクションを使用する

action 定義に form_url パラメータまたは form_param パラメータを含めない場合、データアクションにフォームは含まれません。その場合、ユーザーが [アクション] メニューからそのアクションを選択すると、アクションはリクエストを送信します。

フォームのないアクションを選択すると、[アクション] メニューにアクションの左側にアイコンが表示され、アクションの状態が示されます。

  • 読み込みアイコンが表示され、アクションが実行中であることが示されます。

  • チェックマークが表示され、アクションが実行されたことが示されます。

  • 丸で囲まれた i が表示され、アクションが失敗したことを示します。

アクションの左側にアイコンが表示されない場合、そのアクションはトリガーされていません。

サーバー レスポンス

成功した HTTP レスポンスは、成功したアクションと見なされます。

サーバーは、アクションの成功に関するいくつかのオプションを Looker に渡すこともできます。Webhook リクエストが JSON で応答する場合、Looker はレスポンス内の特別な looker キーを探します。それ以外のものはすべて無視されます。たとえば、次のようになります。

{
  "my_apps_business_logic": "something",
  "looker": {
    "success": true,
    "refresh_query": true
  }
}

ここで success はデフォルトで true に設定され、success を false に設定すると、リクエストが失敗したことが Looker に示されます。また、refresh_query はデフォルトで false に設定されています。true に設定すると、キャッシュをスキップして現在の Looker クエリが再実行されます。

渡されたフォーム パラメータの検証エラーを返すこともできます。

{
  "looker": {
    "success": false,
    "validation_errors": {
      "body": "Body must be more than 10 characters long."
    }
  }
}

ここで、validation_errors のデフォルトは {} です。これは、キーがフォーム パラメータの名前で、値がそのパラメータのエラー メッセージを表す文字列である JSON オブジェクトである必要があります。

例

form_url パラメータ(この例では Liquid 構文を使用)を使用する場合、すべてのオプションを JSON オブジェクトで返す必要があります。次に例を示します。

dimension: foo {
  action: {
    label: "Send a Thing"
    url: "https://example.com/ping/\{{ value \}}"
    form_url: "https://example.com/ping/\{{ value \}}/form.json"
  }
}

サーバーは、LookML に一致するフォームの JSON 表現を返す必要があります。

[
  {
    "name": "title",
    "type": "select",
    "label": "desired label name",
    "description": "description text",
    "required": true,
    "default": "value string",
    "options": [
      {
        "name": "name string"
        "label": "desired label name"
      },
      {
        "name": "name string"
        "label": "desired label name"
      }
    ]
  },
  {
    "name": "title",
    "type": "textarea",
    "label": "desired label name",
    "description": "description text",
    "required": true,
    "default": "value string",
  }
]

form_param パラメータを使用すると、オプションは LookML パラメータとして使用されます。次に例を示します。

form_param: {
  name: "title"
  type: select
  label: "desired label name"
  option: {
    name: "name string"
    label: "desired label name"
  }
  required: yes
  description: "description text"
  default: "value string"
}

Looker Action Hub の使用を検討する

action パラメータは、アクション リクエストを受け取るように設定されたサーバーがまだない場合や、再利用性が限られたユースケースを実装する場合に適しています。ただし、代わりに Looker Action Hub から利用できるフィールドレベルのアクションの使用を検討することをおすすめします。(インスタンスがLooker Action Hub の要件を満たしていることを確認してください)。

既存の Looker Action Hub 統合に加えて、アクションハブのドキュメント ページの手順に沿って独自のカスタム アクションを作成することもできます。