https://api.logbrew.co.
Öffentliche SDKs senden ihre verwalteten Batches an POST /v1/events.
Eigene native Clients senden native Umschläge an
POST /api/telemetry/ingest. Beide Ingest-Routen verlangen ein
Ingest-Bearer-Token für das Projekt.
Lesevorgänge und Änderungen am Konto nutzen ein Konto-Bearer-Token.
Verwenden Sie ein Konto-Bearer-Token oder eine Browsersitzung nie als SDK-
oder Ingest-Konfiguration. Senden Sie ein Ingest-Bearer-Token nie an eine
Leseroute.
Begrenzte Anfrage senden
Gehen Sie diese Prüfliste durch, bevor ein Client eine Anfrage sendet:- Wählen Sie Route und HTTP-Methode aus der Endpunkt-Tabelle.
- Verwenden Sie das richtige Bearer-Token: ein Ingest-Bearer-Token für die Signalaufnahme, ein Konto-Bearer-Token für alles andere.
- Wählen Sie den Projektbereich, den die Route unterstützt. Erweitern Sie den Bereich nicht nach einer leeren Antwort.
- Fügen Sie nur Query-Schlüssel hinzu, die die Route annimmt. Siehe Abfragefilter der Telemetrie-API.
- Senden Sie
Content-Type: application/json, wenn die Route einen JSON-Body hat. - Lesen Sie den HTTP-Status und den Antwort-Body, bevor Sie wiederholen.
- Halten Sie Bearer-Tokens, Feed-Tickets und vollständige Antwort-Bodys aus Logs und Agenten-Prompts heraus.
Endpunkte
Signalaufnahme
Lassen Sie das SDK die Batches für
/v1/events bauen. Erstellen Sie sie
nicht von Hand. Den nativen Umschlag beschreibt
SDK-Integration.
Telemetrie lesen
Bereitstellungen
Erfassen Sie eine Bereitstellung aus Ihrer Release-Automatisierung,
nachdem sie gelungen oder fehlgeschlagen ist. Der
PUT-Body hat
project_id, release, environment, service_name, status
(succeeded oder failed), started_at, finished_at und optional
commit_sha. Verwenden Sie dieselben Werte für release, environment
und service_name, die Ihr SDK sendet. Das Projekt muss dem Konto gehören.
deployment_id ist Ihre eigene ID für die Bereitstellung. Eine Wiederholung
mit derselben ID und demselben Body gibt die gespeicherte Bereitstellung
zurück. Dieselbe ID mit einem anderen Body schlägt mit 409 und
idempotency_conflict fehl. Verwenden Sie für eine andere Bereitstellung
eine neue ID.
Untersuchungen
Jede Untersuchungsroute gibt ein begrenztes Paket an Belegen für ein Subjekt zurück. Der Befehllogbrew explain der CLI liest
diese Routen und prüft die Antwort.
Produktanalysen
Die
POST-Routen der Analysen nehmen einen JSON-Body an, keine
Query-Schlüssel. Siehe Produktanalysen.
Live-Feed
Konto und Anmeldung
Die Routen für Nutzung, Kontingent, Abo und Abmeldung stehen in der Konto-API.Statuscodes bei Erfolg
Eine Antwort
200 beweist nicht, dass die Belege vollständig sind. Lesen
Sie die Felder für Abdeckung, Kürzung und Status in der Antwort.
Query-Filter und Paginierung
Jede Leseroute nimmt eigene Query-Schlüssel an. Kurze Aliasse wieproject, trace und user sind keine Query-Schlüssel. Listenrouten geben
standardmäßig ein einfaches Array zurück und mit pagination=cursor einen
Cursor-Umschlag. Die Liste der Bereitstellungen gibt immer ein Seitenobjekt
zurück. Siehe
Abfragefilter der Telemetrie-API.
Antworten und Fehler
- Antwortformate der Telemetrie-API zeigt ein Beispiel für jede Antwortfamilie.
- API-Fehler listet Fehlercodes und Schritte zur Wiederherstellung auf.
code vor der Nachricht für Menschen. Nutzen Sie next_action
für das Programmverhalten und next als Hinweis für Menschen. Parsen Sie
nicht den Wortlaut von error oder next.
Issues ändern
Diese Anfragen nutzen ein Konto-Bearer-Token. Es unterscheidet sich absichtlich vonLOGBREW_INGEST_BEARER. Das Konto braucht die Berechtigung,
Issues im Projekt des Issues zu verwalten. Fehlt sie, schlägt die Anfrage
mit 403 und forbidden fehl. Dieselbe Berechtigung gilt für Änderungen an
Status, Priorität und Zuweisung sowie für Issue- und Log-Regeln.
Jede Anfrage setzt mindestens eines dieser Felder:
Eine Anfrage ohne eines dieser Felder schlägt mit
422 und
validation_failed fehl.
Ein Issue ist höchstens 1 Konto oder 1 Team zugewiesen. Ein Konto muss
das Projekt lesen können, und ein Team muss zur Organisation des Projekts
gehören. Sonst schlägt die Anfrage mit 422 und validation_failed fehl, und LogBrew ändert nichts. Die Konten, die Sie
zuweisen können, liefert Zuweisbare Konten und Teams auflisten. Jeder
andere Wert für assignee schlägt ebenfalls mit 422 und
validation_failed fehl.
Eine Priorität, die Sie setzen, bleibt fest. Ohne eine gesetzte Priorität
folgt die Priorität dem Schweregrad des Issues: error und critical sind
high, warning ist medium und info ist low.
Ein Feld, das schon den angefragten Wert hat, ändert sich nicht. Nach einer
Zeitüberschreitung können Sie dieselbe Anfrage erneut senden. Eine
Zeitüberschreitung beweist nicht, dass die Änderung nicht stattgefunden
hat. Lesen Sie das Issue erneut, bevor Sie eine andere Änderung senden.
Ein Issue ändern
Fügen Sieresponse_version=4 hinzu, um archived, die Priorität und die
Zuweisung in der Antwort zu erhalten. In Version 4 ist assignee
{ "type": "user", "user_id", "name", "email" },
{ "type": "team", "team_id", "slug", "name" } oder null. Version 3 zeigt
ein zugewiesenes Team als null.
Issues gesammelt ändern
Senden Sieproject_id und 1 bis 100 verschiedene Issue-IDs aus diesem
Projekt:
project_id und results, mit 1 Ergebnis pro Issue-ID in der Reihenfolge
der Anfrage. Jedes Ergebnis hat issue_id, outcome und issue. issue
ist in Antwortversion 3 das aktuelle Issue oder null bei not_found.
Fügen Sie dem Body "response_version": 2 hinzu, um jedes Issue in
Antwortversion 4 zu erhalten.
Eine leere Liste, mehr als 100 IDs oder eine doppelte ID schlagen mit
422
und validation_failed fehl. Teilen Sie eine größere Menge auf mehrere
Anfragen auf. Wenn das Konto das Projekt nicht lesen kann, schlägt die
Anfrage mit 404 und not_found fehl.
Zuweisbare Konten und Teams auflisten
Senden Sie die Projekt-ID, um jedes Konto zu erhalten, dem in diesem Projekt Issues zugewiesen werden können:user_id, name und email. name ist null, wenn das Konto keinen
Namen hat. Mit response_version=2 erhalten Sie zusätzlich teams: jedes
Team der Organisation des Projekts, mit team_id, slug und name. Siehe
die Antwort mit der Liste zuweisbarer Konten und Teams.
Jedes Konto, das das Projekt lesen kann, kann diese Liste abrufen. Wenn das
Konto das Projekt nicht lesen kann, schlägt die Anfrage mit 404 und
not_found fehl.
Wenn ein Mitglied den Zugriff auf das Projekt verliert, zeigen die ihm
zugewiesenen Issues keine Zuweisung. Erhält das Mitglied wieder
Zugriff, zeigen die Issues es wieder an, außer jemand hat die Zuweisung in
der Zwischenzeit geändert oder entfernt.
Zuständigkeitsregeln und Zuständigkeitsvorschläge
GET /api/telemetry/issues/ownership?project_id=<project-uuid> liefert
rules, codeowners, updated_at und unresolved_owners. Jedes Konto, das
das Projekt lesen kann, kann diese Werte lesen. PUT mit project_id und
rules, codeowners oder beidem ersetzt diesen Text und braucht die
Berechtigung, Issues zu verwalten. Ein Feld, das Sie weglassen, behält seinen
Text. Ein leerer String löscht ihn. Jeder Text hat höchstens 128 KiB.
Ungültiger Text schlägt mit 422 fehl und nennt die Zeile.
GET /api/telemetry/issues/{issue_id}/owners?response_version=2 liefert
suggested_assignee, owners und inputs. Jeder Eintrag hat type (user
oder team), source (ownership_rule, codeowners oder
recent_activity), rule, line und matched. Version 1, der Standard,
listet nur Konten auf.
Verlauf eines Issues
GET /api/telemetry/issues/{issue_id}/activity?response_version=2 liefert
activity, die neuesten Einträge zuerst, und next_cursor. Jeder Eintrag hat
type (status, priority, assigned, unassigned, severity_rule oder
first_seen), value, actor_id, actor, assignee_id, assignee,
team und at. limit liegt zwischen 1 und 200, der Standard ist 50.
Senden Sie cursor_time und cursor_id aus next_cursor, um die nächste
Seite zu lesen.
Benachrichtigungen
GET /api/telemetry/issues/notifications liefert notifications, unread,
read_at und next_cursor. Jede Benachrichtigung ist eine Zuweisung eines
Issues an Sie oder Ihr Team durch ein anderes Konto. POST /api/telemetry/issues/notifications/read mit einem leeren JSON-Objekt oder
mit read_at setzt Ihre Lesemarke weiter. Die Marke geht nie zurück.
Regeln für Issues und Logs setzen
Eine Regel ändert, wie LogBrew passende Signale zeigt. Sie löscht keine Daten. Der erfasste Wertseverity bleibt unverändert, und die Antwort zeigt die
Regel in triage.
severity ist info, warning, error, critical oder source.
source entfernt die Überschreibung und zeigt wieder den erfassten
Schweregrad. Bei einer Log-Regel blendet ignored: true passende Logs aus
der Standard-Log-Liste aus. Lesen Sie sie mit status=ignored oder
status=all. Die Regel gilt für gespeicherte und künftige passende Signale.
Ein anderer Wert schlägt mit 422 und validation_failed fehl.
