Skip to main content
L’API GraphQL d’AppSignal prend en charge les mutations en plus des requêtes. Là où une requête lit des données, une mutation les écrit : vous pouvez créer un marqueur personnalisé, fermer un incident, ajouter un moniteur de disponibilité, et plus encore. Les mutations utilisent le même point de terminaison et le même jeton d’API personnel que les requêtes. Consultez la page de l’API GraphQL pour plus de détails sur le point de terminaison et l’authentification. La plupart des mutations sont liées à une app et prennent un argument appId qui limite la modification à une seule app. Vous pouvez trouver l’ID de votre app dans l’écran des paramètres de votre app. Certaines mutations sont liées à une organisation et prennent un argument organizationSlug à la place, comme createApp et createStatusPage. Cette page couvre les mutations les plus courantes. Pour la liste complète et générée automatiquement de chaque mutation et de ses arguments, consultez la référence du schéma GraphQL.
Les mutations modifient les données de votre compte. Testez sur une app hors production avant d’automatiser une mutation sur des données de production.

Incidents

Mettre à jour un incident

Modifiez l’état, la gravité, les personnes assignées ou les paramètres de notification d’un incident. Le number est le numéro d’incident affiché dans AppSignal. state accepte OPEN, WIP ou CLOSED. severity accepte UNTRIAGED, CRITICAL, HIGH, LOW, NONE ou INFORMATIONAL.

Mise à jour groupée d’incidents

Mettez à jour plusieurs incidents en une seule requête. Contrairement à updateIncident, cette mutation prend les IDs d’incident plutôt que les numéros d’incident.

Créer une note sur un incident

Ajoutez une note au journal d’un incident. Les mêmes champs sont disponibles sur les incidents de performance, d’anomalie et de journal.

Créer un ticket à partir d’un incident

Créez un ticket lié dans une intégration connectée. Cet exemple utilise GitHub ; des mutations équivalentes existent pour d’autres intégrations : createGitlabIssue, createJiraIssue, createLinearIssue, createShortcutStory, createAsanaTask et createTrelloCard.

Supprimer une intégration d’un incident

Supprimez un ticket d’intégration précédemment lié à un incident.

Marqueurs

Créer ou mettre à jour un marqueur personnalisé

Créez un marqueur personnalisé pour annoter un instant donné, tel qu’un changement de configuration ou une action manuelle. Passez un id pour mettre à jour un marqueur existant. Omettez id pour créer un nouveau marqueur.

Supprimer un marqueur personnalisé

Supprimez un marqueur personnalisé par ID.

Alertes et déclencheurs

Créer un déclencheur

Créez un déclencheur d’alerte basé sur une métrique. field accepte une valeur de MetricFieldEnum (telle que MEAN, P90, P95, COUNT, GAUGE ou COUNTER). kind est une chaîne décrivant le type de déclencheur. La documentation source GraphQL nomme ExceptionRate et Throughput comme exemples. La condition définit le seuil de comparaison. Pour remplacer un déclencheur existant, passez son ID en tant que previousTriggerId. comparisonOperator accepte LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUAL, GREATER_THAN_OR_EQUAL, EQUAL ou NOT_EQUAL.

Archiver un déclencheur

Archivez un déclencheur afin qu’il n’évalue plus de métriques ni n’envoie d’alertes.

Archiver une alerte

Archivez une seule alerte déclenchée. Cette mutation retourne true en cas de succès.

Fermer la dernière alerte d’un incident d’anomalie

Fermez l’alerte ouverte la plus récente pour un incident d’anomalie, identifié par son numéro d’incident.

Moniteurs de disponibilité

Créer un moniteur de disponibilité

Créez un moniteur de disponibilité à partir d’un UptimeMonitorInput. regions accepte une ou plusieurs valeurs parmi EUROPE, NORTH_AMERICA, ASIA_PACIFIC ou SOUTH_AMERICA.

Mettre à jour un moniteur de disponibilité

Mettez à jour un moniteur existant. L’entrée uptimeMonitor prend la même forme que lors de la création.

Supprimer un moniteur de disponibilité

Supprimez un moniteur par ID. Cette mutation retourne le moniteur supprimé.

Check-ins

Créer un déclencheur de check-in

Créez un déclencheur de check-in cron ou heartbeat. kind accepte CRON ou HEARTBEAT. Pour un déclencheur cron, définissez syntax sur l’expression cron. Utilisez UTC pour timezone lorsque cela est possible.

Mettre à jour un déclencheur de check-in

Mettez à jour un déclencheur de check-in existant. Seuls les champs que vous passez sont modifiés.

Supprimer un déclencheur de check-in

Supprimez un déclencheur de check-in par ID.

Tableaux de bord

Créer un tableau de bord

Créez un tableau de bord vide. Ajoutez-y des visuels avec les mutations createVisualTimeseries et createVisualNumber, ou importez un tableau de bord complet avec importDashboard. Les visuels de tableau de bord sont également gérés via createVisualTimeseries, createVisualNumber, updateVisualTimeseries, updateVisualNumber, updateVisualLayouts et deleteVisual. Pour créer un visuel enregistré autonome récupérable ultérieurement via les points de terminaison REST des visuels enregistrés, utilisez createSavedVisual.

Mettre à jour un tableau de bord

Mettez à jour le titre ou la description d’un tableau de bord. Le title est obligatoire.

Supprimer un tableau de bord

Supprimez un tableau de bord par ID.

Importer un tableau de bord

Importez un tableau de bord à partir d’une définition JSON. L’argument json est une chaîne encodée en JSON, donc échappez-la lorsque vous l’envoyez en tant que variable.

Journaux

Créer un déclencheur de journal

Créez un déclencheur qui ouvre un incident lorsque des lignes de journal correspondent à une requête. severities accepte les noms de gravité de journal tels que error, warn ou info.
Les journaux sont également gérés via GraphQL au-delà des déclencheurs. Utilisez createLogSource, updateLogSource et deleteLogSource pour les sources ; createLogView, updateLogView et deleteLogView pour les vues enregistrées ; createLogLineAction, updateLogLineAction, deleteLogLineAction et reorderLogLineActions pour les règles d’ingestion ; updateLogTrigger et deleteLogTrigger pour les déclencheurs de journal ; et createLogExport, updateLogExport et deleteLogExport pour les exports S3.

Mutations à l’échelle de l’organisation

Certaines mutations agissent sur une organisation plutôt que sur une seule app, et prennent donc un argument organizationSlug au lieu de appId. Vous pouvez trouver le slug dans l’URL de votre organisation dans AppSignal.

Créer une app

Créez une nouvelle app au sein d’une organisation.

Créer une page de statut

Créez une page de statut publique à partir d’un CreateStatusPageInput. title et hostname sont obligatoires.
Les pages de statut prennent également en charge createStatusPageUpdate, updateStatusPage, updateStatusPageUpdate, deleteStatusPage et deleteStatusPageUpdate. Pour les exports CSV, utilisez createCsvExport pour démarrer un export et createCsvExportUrl pour générer une URL de téléchargement pour un export terminé.

Autres mutations

Ces exemples couvrent les opérations les plus courantes. L’API en contient davantage, regroupées dans la référence du schéma sous Core (gestion des apps et des collecteurs hébergés), Tableaux de bord (visuels et mises en page), Journaux (sources, vues et exports), Exports (CSV), Pages de statut (mises à jour) et Préférences utilisateur. Pour la liste complète des mutations et de leurs arguments, consultez la référence du schéma GraphQL.