Créer une requête Data Explorer en utilisant l'API

Créer une requête Data Explorer avec l’API

:bookmark: Ce guide pratique explique comment créer une requête Data Explorer en utilisant l’API Discourse.

:person_raising_hand: Niveau d’utilisateur requis : Administrateur

Prérequis

Avant de commencer, assurez-vous d’avoir :

:information_source: La création de requêtes nécessite une clé d’API globale. La portée granulaire « exécuter les requêtes » permet uniquement d’exécuter les requêtes existantes, et non d’en créer de nouvelles.

Créer une requête

Pour créer une nouvelle requête Data Explorer, effectuez une requête POST vers /admin/plugins/discourse-data-explorer/queries.

Paramètres

Paramètre Requis Description
query[name] Oui Le nom de votre requête
query[sql] Oui L’instruction SQL à exécuter
query[description] Non Une description de ce que fait la requête
query[group_ids] Non Tableau des identifiants de groupe pouvant accéder à cette requête

Exemple de requête

curl -X POST "https://your-site.com/admin/plugins/discourse-data-explorer/queries" \
  -H "Content-Type: multipart/form-data;" \
  -H "Api-Key: <api-key>" \
  -H "Api-Username: <username>" \
  -F 'query[name]=User count query' \
  -F 'query[sql]=SELECT COUNT(*) FROM users'

Exemple de réponse

{
  "query": {
    "id": 49,
    "name": "User count query",
    "description": null,
    "username": "<username>",
    "group_ids": [],
    "last_run_at": "2025-03-13T18:41:44.226Z",
    "user_id": 1,
    "is_default": false,
    "sql": "SELECT COUNT(*) FROM users",
    "param_info": [],
    "created_at": "2025-03-13T18:41:44.226Z",
    "hidden": false
  }
}

Notez la valeur id dans la réponse, vous en aurez besoin pour exécuter la requête. Pour plus de détails sur l’exécution des requêtes via l’API, consultez Exécuter des requêtes Data Explorer avec l’API Discourse.

6 « J'aime »

Vous avez changé le chemin de l’appel API et cassé ma requête !?! c’était /admin/plugins/explorer/queries/3/run et tout d’un coup, l’action github a commencé à échouer. Ce n’est pas très sympa.

3 « J'aime »

Notre outillage s’est cassé à cause de ce changement de chemin et aussi du changement nécessitant une clé API globale au lieu d’une clé API en lecture seule, qui était auparavant suffisante.

C’était ennuyeux.

Cela ressemble à un bug.