action

Utilisation

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"
      }
    }
  }
}
Hiérarchie
action
Types de champs possibles
Dimension, Mesure

Valeur par défaut
Aucun

Acceptation
Différents paramètres

Règles spéciales
  • L'URL de form_url doit être accessible au serveur Looker et utiliser HTTPS avec un certificat valide.
  • L'URL de icon_url doit être accessible au navigateur de l'utilisateur.

Définition

Le paramètre action crée une action de données qui permet aux utilisateurs d'effectuer des tâches au niveau du champ dans d'autres outils, directement depuis Looker. Par exemple, ce paramètre peut entraîner l'envoi d'un e-mail, définir des valeurs dans d'autres applications ou réaliser toute autre action que vous pouvez configurer sur un serveur de réception. Celui-ci doit être en mesure d'accepter une requête POST au format JSON.

Vous pouvez définir un action pour une dimension ou une mesure. Pour accéder à l'action, sélectionnez son champ sur une page "Explorer", une page "Look" ou un tableau de bord.

Lorsque vous définissez un action, vous spécifiez le comportement choisi à l'aide des paramètres suivants :

Paramètre Description
label Il s'agit d'une chaîne qui indique le nom de l'action tel qu'il apparaîtra dans le menu d'actions pour les utilisateurs.
url Chaîne spécifiant l'URL permettant de traiter l'action. Si une liste d'autorisation d'URL pour les actions sur les données est spécifiée, vous devez ajouter cette valeur url à la liste d'autorisation. Seules les URL correspondant au format défini par la liste d'autorisation sont autorisées pour les actions sur les données. S'il n'existe aucune entrée, toutes les URL sont autorisées pour les actions sur les données.
icon_url Chaîne spécifiant une URL contenant un fichier image pour aider les utilisateurs à comprendre, en un coup d'œil, où ce lien les redirigera. La valeur icon_url doit être accessible au navigateur de l'utilisateur.
form_url Chaîne spécifiant une URL qui renverra un formulaire à présenter aux utilisateurs. Le formulaire doit être présenté au format JSON, comme décrit dans la section Spécifier le comportement du formulaire à l'aide de form_url ou form_param de cette page. Le form_url doit être accessible au serveur Looker et utiliser le protocole HTTPS avec un certificat valide.
param Transmet une valeur au serveur de réception.
form_param Ajoute une entrée de formulaire qui sera affichée pour cette action.
user_attribute_param Transmet un attribut utilisateur au serveur de réception. Si vous utilisez un user_attribute_param pour votre action sur les données, vous devez ajouter la valeur url de l'action sur les données à la liste d'autorisation des URL pour les actions sur les données.

Comme pour une action de données, vous pouvez également utiliser une action au niveau du champ disponible dans Looker Action Hub pour envoyer des données à partir d'une cellule spécifique. Pour en savoir plus sur cette option, consultez la section Envisager d'utiliser le Looker Action Hub sur cette page.

Transmettre des attributs utilisateur au serveur de réception à l'aide de user_attribute_param

Vous pouvez envoyer des attributs utilisateur au serveur de réception à l'aide du paramètre user_attribute_param. Dans chaque user_attribute_param, vous spécifiez les sous-paramètres suivants :

Paramètre Type Description
user_attribute ID Looker Nom de l'attribut utilisateur dans Looker
name Chaîne Nom de l'attribut tel que vous souhaitez qu'il apparaisse dans la charge utile JSON.

Transmettre des valeurs au serveur de réception à l'aide de param

Vous pouvez envoyer des données arbitraires dans votre charge utile JSON à l'aide du paramètre param. Dans chaque param, vous spécifiez les sous-paramètres suivants :

Paramètre Type Description
name Chaîne Nom d'un paramètre à transmettre au serveur de réception
value Chaîne Valeur d'un paramètre à transmettre au serveur de réception

Ne transmettez pas de données sensibles ni d'informations privées, telles que des identifiants utilisateur, dans le paramètre param. Configurez plutôt les identifiants utilisateur en tant qu'attribut utilisateur dans les paramètres d'administration, et transmettez ces informations dans le paramètre user_attribute_param.

Spécifier le comportement du formulaire à l'aide de form_url ou form_param

Vous pouvez créer un formulaire avec lequel les utilisateurs Looker peuvent interagir, puis envoyer les données saisies dans votre charge utile JSON. Si vous affichez un formulaire, il apparaît en superposition sur la page (Explorer, Look ou tableau de bord) où l'action a été déclenchée. Pour ce faire, vous pouvez utiliser le paramètre form_url ou form_param.

Si vous souhaitez que votre serveur d'action hub définisse la mise en page du formulaire, utilisez le paramètre form_url. Le paramètre form_url doit contenir une URL qui renvoie une représentation JSON du formulaire, comme décrit plus loin sur cette page.

Si vous souhaitez définir la mise en page du formulaire directement dans LookML, utilisez le paramètre form_param.

Options du formulaire

Dans les deux cas, les options possibles que vous pouvez utiliser pour définir le formulaire sont les suivantes :

Option Type Description
name Chaîne Nom de la valeur telle qu'elle apparaîtra dans votre charge utile JSON.
type Type d'entrée Type de champ de formulaire qui sera affiché pour l'utilisateur :

  • select : affiche une liste déroulante.
  • string : affiche un champ de saisie sur une seule ligne.
  • textarea : affiche une zone de saisie de texte multiligne.
label Chaîne Libellé de la saisie tel qu'il s'affichera pour les utilisateurs
description Chaîne Description du champ qui s'affichera pour les utilisateurs
required Booléen Indique si l'option de formulaire doit être fournie par l'utilisateur avant l'envoi du formulaire.
default Chaîne Valeur de départ du champ de formulaire, le cas échéant
option Chaîne Si vous choisissez un type de select, définissez les options de sélection ici.

Si vous définissez type sur select, vous spécifiez ensuite les éléments de la liste déroulante à l'aide de option. Chaque option inclut les informations suivantes :

Option Type Description
name Chaîne Nom de la valeur du formulaire tel qu'il apparaîtra dans votre charge utile JSON
label Chaîne Libellé de l'option tel qu'il s'affichera pour les utilisateurs (facultatif)

Utiliser une action de données sans formulaire

Si vous n'incluez pas de paramètre form_url ou form_param dans votre définition action, l'action de données n'inclura pas de formulaire. Dans ce cas, l'action envoie une requête lorsqu'un utilisateur la sélectionne dans le menu Actions.

Une fois une action sans formulaire sélectionnée, le menu Actions affiche des icônes à gauche de l'action pour indiquer son état :

  • Une icône de chargement s'affiche pour indiquer que l'action est en cours d'exécution.

  • Une coche s'affiche pour indiquer que l'action a été exécutée.

  • Un i encerclé s'affiche, ce qui indique que l'action a échoué.

Si aucune icône n'apparaît à gauche d'une action, cela signifie que l'action n'a pas été déclenchée.

Réponses du serveur

Une réponse HTTP positive sera considérée comme une action réussie.

Le serveur peut également renvoyer quelques options à Looker concernant la réussite de l'action. Si la requête de webhook répond avec JSON, Looker recherche une clé looker spéciale dans la réponse. Tout le reste est ignoré. Par exemple, dans :

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

Ici, success est défini par défaut sur true. Si vous définissez success sur false, Looker indiquera que la requête a échoué. De plus, refresh_query est défini par défaut sur false. Si vous le définissez sur true, la requête Looker actuelle sera réexécutée en ignorant le cache.

Vous pouvez également répondre avec des erreurs de validation pour tous les paramètres de formulaire qui ont été transmis :

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

Ici, validation_errors est défini par défaut sur {}. Il doit s'agir d'un objet JSON dont les clés sont les noms des paramètres du formulaire et dont la valeur est une chaîne représentant un message d'erreur pour ce paramètre.

Exemples

Si vous utilisez le paramètre form_url (avec la syntaxe Liquid dans cet exemple), toutes les options doivent être renvoyées dans un objet JSON. Exemple :

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

Le serveur doit renvoyer une représentation JSON d'un formulaire correspondant au LookML :

[
  {
    "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",
  }
]

Si vous utilisez le paramètre form_param, les options sont utilisées comme paramètres LookML. Exemple :

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"
}

Envisagez d'utiliser l'Action Hub Looker

Le paramètre action est un bon choix si vous n'avez pas encore de serveur configuré pour recevoir vos demandes d'action ou si vous souhaitez implémenter un cas d'utilisation dont la réutilisabilité est limitée. Toutefois, vous pouvez envisager d'utiliser les actions au niveau du champ disponibles dans l'Action Hub Looker. (Assurez-vous que votre instance répond à ces exigences concernant le hub d'actions Looker.)

En plus des intégrations existantes de l'Action Hub Looker, vous pouvez également créer votre propre action personnalisée en suivant les instructions de la page de documentation Action Hub.