Zum Hauptinhalt springen
Die GraphQL-API von AppSignal unterstützt Mutations ebenso wie Queries. Während eine Query Daten liest, schreibt eine Mutation sie: Sie können einen benutzerdefinierten Marker erstellen, einen Incident schließen, einen Uptime-Monitor hinzufügen und vieles mehr. Mutations verwenden denselben Endpunkt und dasselbe persönliche API-Token wie Queries. Einzelheiten zum Endpunkt und zur Authentifizierung finden Sie auf der GraphQL-API-Seite. Die meisten Mutations sind app-bezogen und nehmen ein appId-Argument entgegen, das die Änderung auf eine einzelne App eingrenzt. Sie finden Ihre App-ID im Einstellungsbildschirm Ihrer App. Einige Mutations sind organisationsbezogen und nehmen stattdessen ein organizationSlug-Argument entgegen, wie z. B. createApp und createStatusPage. Diese Seite behandelt die häufigsten Mutations. Die vollständige, automatisch generierte Liste aller Mutations und ihrer Argumente finden Sie in der GraphQL-Schema-Referenz.
Mutations verändern Daten in Ihrem Konto. Testen Sie eine Mutation gegen eine Nicht-Produktiv-App, bevor Sie sie gegen Produktionsdaten automatisieren.

Incidents

Einen Incident aktualisieren

Ändern Sie den Status, den Schweregrad, die zugewiesenen Personen oder die Benachrichtigungseinstellungen eines Incidents. Die number ist die in AppSignal angezeigte Incident-Nummer. state akzeptiert OPEN, WIP oder CLOSED. severity akzeptiert UNTRIAGED, CRITICAL, HIGH, LOW, NONE oder INFORMATIONAL.

Mehrere Incidents gesammelt aktualisieren

Aktualisieren Sie mehrere Incidents in einer einzigen Anfrage. Anders als updateIncident nimmt diese Mutation Incident-IDs statt Incident-Nummern entgegen.

Eine Notiz zu einem Incident erstellen

Fügen Sie eine Notiz zum Logbuch eines Incidents hinzu. Dieselben Felder sind für Performance-, Anomaly- und Log-Incidents verfügbar.

Aus einem Incident ein Issue erstellen

Erstellen Sie ein verknüpftes Issue in einer verbundenen Integration. Dieses Beispiel verwendet GitHub; entsprechende Mutations existieren für andere Integrationen: createGitlabIssue, createJiraIssue, createLinearIssue, createShortcutStory, createAsanaTask und createTrelloCard.

Eine Integration aus einem Incident entfernen

Entfernen Sie ein zuvor verknüpftes Integrations-Issue aus einem Incident.

Marker

Einen benutzerdefinierten Marker erstellen oder aktualisieren

Erstellen Sie einen benutzerdefinierten Marker, um einen Zeitpunkt zu kennzeichnen, etwa eine Konfigurationsänderung oder eine manuelle Aktion. Übergeben Sie eine id, um einen bestehenden Marker zu aktualisieren. Lassen Sie id weg, um einen neuen Marker zu erstellen.

Einen benutzerdefinierten Marker löschen

Löschen Sie einen benutzerdefinierten Marker anhand seiner ID.

Alerts und Trigger

Einen Trigger erstellen

Erstellen Sie einen metrikbasierten Alert-Trigger. field akzeptiert einen Wert aus MetricFieldEnum (z. B. MEAN, P90, P95, COUNT, GAUGE oder COUNTER). kind ist eine Zeichenkette, die den Triggertyp beschreibt. Die GraphQL-Quelldokumentation nennt ExceptionRate und Throughput als Beispiele. Die condition legt den Schwellenwert zum Vergleich fest. Um einen bestehenden Trigger zu ersetzen, übergeben Sie dessen ID als previousTriggerId. comparisonOperator akzeptiert LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUAL, GREATER_THAN_OR_EQUAL, EQUAL oder NOT_EQUAL.

Einen Trigger archivieren

Archivieren Sie einen Trigger, sodass er keine Metriken mehr auswertet und keine Alerts mehr versendet.

Einen Alert archivieren

Archivieren Sie einen einzelnen ausgelösten Alert. Diese Mutation gibt bei Erfolg true zurück.

Den letzten Alert für einen Anomaly-Incident schließen

Schließen Sie den jüngsten offenen Alert für einen Anomaly-Incident, identifiziert über seine Incident-Nummer.

Uptime-Monitore

Einen Uptime-Monitor erstellen

Erstellen Sie einen Uptime-Monitor aus einem UptimeMonitorInput. regions akzeptiert einen oder mehrere der Werte EUROPE, NORTH_AMERICA, ASIA_PACIFIC oder SOUTH_AMERICA.

Einen Uptime-Monitor aktualisieren

Aktualisieren Sie einen bestehenden Monitor. Die uptimeMonitor-Eingabe hat dieselbe Struktur wie beim Erstellen.

Einen Uptime-Monitor löschen

Löschen Sie einen Monitor anhand seiner ID. Diese Mutation gibt den gelöschten Monitor zurück.

Check-ins

Einen Check-in-Trigger erstellen

Erstellen Sie einen Cron- oder Heartbeat-Check-in-Trigger. kind akzeptiert CRON oder HEARTBEAT. Für einen Cron-Trigger setzen Sie syntax auf den Cron-Ausdruck. Verwenden Sie nach Möglichkeit UTC für timezone.

Einen Check-in-Trigger aktualisieren

Aktualisieren Sie einen bestehenden Check-in-Trigger. Nur die Felder, die Sie übergeben, werden geändert.

Einen Check-in-Trigger löschen

Löschen Sie einen Check-in-Trigger anhand seiner ID.

Dashboards

Ein Dashboard erstellen

Erstellen Sie ein leeres Dashboard. Fügen Sie ihm mit den Mutations createVisualTimeseries und createVisualNumber Visuals hinzu oder importieren Sie ein komplettes Dashboard mit importDashboard. Dashboard-Visuals werden ebenfalls über createVisualTimeseries, createVisualNumber, updateVisualTimeseries, updateVisualNumber, updateVisualLayouts und deleteVisual verwaltet. Um ein eigenständiges gespeichertes Visual für den späteren Abruf über die REST-Endpunkte für gespeicherte Visuals zu erstellen, verwenden Sie createSavedVisual.

Ein Dashboard aktualisieren

Aktualisieren Sie Titel oder Beschreibung eines Dashboards. Der title ist erforderlich.

Ein Dashboard löschen

Löschen Sie ein Dashboard anhand seiner ID.

Ein Dashboard importieren

Importieren Sie ein Dashboard aus einer JSON-Definition. Das Argument json ist eine JSON-kodierte Zeichenkette, daher müssen Sie sie beim Senden als Variable escapen.

Logs

Einen Log-Trigger erstellen

Erstellen Sie einen Trigger, der einen Incident öffnet, wenn Log-Zeilen einer Abfrage entsprechen. severities akzeptiert Log-Schweregradnamen wie error, warn oder info.
Logs werden über GraphQL auch über Trigger hinaus verwaltet. Verwenden Sie createLogSource, updateLogSource und deleteLogSource für Quellen; createLogView, updateLogView und deleteLogView für gespeicherte Ansichten; createLogLineAction, updateLogLineAction, deleteLogLineAction und reorderLogLineActions für Ingestion-Regeln; updateLogTrigger und deleteLogTrigger für Log-Trigger; und createLogExport, updateLogExport und deleteLogExport für S3-Exporte.

Organisationsbezogene Mutations

Manche Mutations beziehen sich auf eine Organisation statt auf eine einzelne App und nehmen daher ein organizationSlug-Argument anstelle von appId entgegen. Das Slug finden Sie in der URL Ihrer Organisation in AppSignal.

Eine App erstellen

Erstellen Sie eine neue App innerhalb einer Organisation.

Eine Statusseite erstellen

Erstellen Sie eine öffentliche Statusseite aus einem CreateStatusPageInput. title und hostname sind erforderlich.
Statusseiten unterstützen außerdem createStatusPageUpdate, updateStatusPage, updateStatusPageUpdate, deleteStatusPage und deleteStatusPageUpdate. Für CSV-Exporte verwenden Sie createCsvExport, um einen Export zu starten, und createCsvExportUrl, um eine Download-URL für einen abgeschlossenen Export zu erzeugen.

Weitere Mutations

Diese Beispiele decken die häufigsten Operationen ab. Die API enthält noch weitere, gruppiert in der Schema-Referenz unter Core (App- und Hosted-Collector-Verwaltung), Dashboards (Visuals und Layouts), Logs (Quellen, Ansichten und Exporte), Exports (CSV), Statusseiten (Updates) und Benutzereinstellungen. Die vollständige Liste der Mutations und ihrer Argumente finden Sie in der GraphQL-Schema-Referenz.