アクション

使用状況





階層
action
使用可能なフィールドタイプ
ディメンション、測定

デフォルト値
なし

許可
各種パラメータ

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

定義

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

ディメンションまたはメジャーaction を定義できます。Explore、Look、ダッシュボードのいずれかのフィールドをクリックすると、アクションにアクセスできます。

action を定義する際は、次のパラメータを使用して目的の動作を指定します。

パラメータ 説明
label 操作メニューでユーザーに表示される名前を文字列で指定します。
url アクションを処理する URL を指定する文字列。[データ アクションの URL 許可リスト](/admin-options/settings/general#url_allowlist_for_data_actions) が指定されている場合は、この 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 アクション ハブで使用可能なフィールド レベルのアクションを使用して、特定のセルからデータを送信することもできます。このオプションの詳細については、このページの Looker アクションハブの使用を検討するをご覧ください。

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

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

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

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

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

パラメータ Type 説明
name String 受信サーバーに渡すパラメータの名前
value String 受信側サーバーに渡すパラメータの値

param パラメータでは、機密データや個人情報(ユーザー認証情報など)を渡さないでください。代わりに、Admin 設定でユーザー属性としてユーザー認証情報を設定し、この情報を user_attribute_param パラメータに渡します。

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

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

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

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

フォームのオプション

いずれの場合も、フォームを定義するために使用できるオプションは次のとおりです。

オプション Type 説明
name String JSON ペイロードに表示される値の名前
type 入力タイプ ユーザーに表示されるフォーム項目の種類:
select - プルダウン リストを表示
string - 1 行の入力フィールドを表示
textarea - 複数行のテキスト入力ボックスを表示
label String ユーザーに表示される入力のラベル
description String 必要に応じてユーザーに表示されるフィールドの説明
required ブール値 フォームを送信する前に、ユーザーがオプションを指定できるようにするかどうかを指定します
default String フォーム フィールドの開始値(存在する場合)。
option String selecttype を選択する場合は、ここで選択オプションを定義します

typeselect に設定した場合は、option を使用して、プルダウン リストのアイテムを指定します。各 option には次の情報が含まれます。

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

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

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

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

  • 読み込みアイコンが表示され、操作が実行されていることが示されます。
  • チェックマークが表示され、アクションが実行されたことがわかります。
  • 丸で囲まれた [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 統合に加えて、Action hub ドキュメント ページの手順に沿って独自のカスタム アクションを作成することもできます。