アクション

用途

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 から直接他のツールでフィールド レベルのタスクを行えるようにするデータ アクションを作成します。たとえば、action はメールを送信したり、他のアプリケーションで値を設定したり、受信サーバー上で構成可能なその他のアクションを実行したりできます。受信サーバーが 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 文字列 typeselect を選択した場合は、ここで選択オプションを定義します。

typeselect に設定した場合は、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 に設定されます。successfalse に設定すると、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 統合に加えて、アクション ハブのドキュメント ページの手順に沿って独自のカスタム アクションを作成することもできます。