https://api.logbrew.co. Openbare
SDK’s sturen hun beheerde batches naar POST /v1/events. Eigen native
clients sturen native enveloppen naar POST /api/telemetry/ingest. Beide
ingest-routes vereisen een projectgebonden ingest-bearer.
Leesacties en wijzigingen die bij het account horen, gebruiken een
account-bearer. Gebruik nooit een account-bearer of een browsersessie als SDK-
of ingest-configuratie. Stuur nooit een ingest-bearer naar een leesroute.
Een afgebakend request versturen
Gebruik deze checklist voordat een client een request verstuurt:- Kies de route en de HTTP-methode uit de endpointtabel.
- Gebruik de juiste bearer: een ingest-bearer voor opname, een account-bearer voor al het andere.
- Kies de projectscope die de route ondersteunt. Verbreed de scope niet na een lege response.
- Voeg alleen queryparameters toe die de route accepteert. Zie Queryfilters van de Telemetrie-API.
- Stuur
Content-Type: application/jsonmee als de route een JSON-body heeft. - Lees de HTTP-status en de response-body voordat je het opnieuw probeert.
- Houd bearers, feedtickets en volledige response-body’s uit logs en uit prompts voor agents.
Endpoints
Opname
Laat de SDK de
/v1/events-batches bouwen. Stel ze niet met de hand samen.
Zie SDK-integratie voor de native envelop.
Telemetrie lezen
Deployments
Registreer een deployment vanuit je release-automatisering nadat die is
geslaagd of mislukt. De
PUT-body heeft project_id, release,
environment, service_name, status (succeeded of failed),
started_at, finished_at en een optionele commit_sha. Gebruik dezelfde
waarden voor release, environment en service_name die je SDK verstuurt.
Het account moet eigenaar zijn van het project.
deployment_id is je eigen ID voor de deployment. Een nieuwe poging met
hetzelfde ID en dezelfde body geeft de opgeslagen deployment terug. Hetzelfde
ID met een andere body mislukt met 409 en idempotency_conflict. Gebruik
een nieuw ID voor een andere deployment.
Onderzoeken
Elke onderzoeksroute geeft een begrensde bewijsbundel terug voor één item. De opdrachtlogbrew explain van de CLI leest deze routes
en valideert de response.
Productanalyse
De
POST-routes voor productanalyse verwachten een JSON-body, geen
queryparameters. Zie Productanalyse.
Livefeed
Account en inloggen
Routes voor gebruik, quota, abonnement en uitloggen staan in de Account-API.Statuscodes bij succes
Een
200-response bewijst niet dat het bewijs volledig is. Lees de velden
voor dekking, afkapping en status in de response.
Queryfilters en paginering
Elke leesroute accepteert eigen queryparameters. Handige aliassen zoalsproject, trace en user zijn geen queryparameters. Lijstroutes geven
standaard een gewone array terug, en een cursorenvelop met
pagination=cursor. De lijst met deployments geeft altijd een pagina-object
terug. Zie
Queryfilters van de Telemetrie-API.
Responses en fouten
- Responseformaten toont één voorbeeld voor elke responsefamilie.
- API-fouten beschrijft foutcodes en herstelacties.
code vóór het bericht voor mensen. Gebruik next_action voor het
gedrag van je programma en next voor uitleg aan mensen. Parse de formulering
van error of next niet.
Issues bijwerken
Deze requests gebruiken een account-bearer. Die is bewust iets anders danLOGBREW_INGEST_BEARER. Het account moet toestemming hebben om issues te
beheren in het project van het issue. Zo niet, dan mislukt het request met
403 en forbidden. Dezelfde toestemming geldt voor wijzigingen van status,
prioriteit en toewijzing, en voor regels voor issues en logs.
Elk request stelt 1 of meer van deze velden in:
Een request zonder een van deze velden mislukt met
422 en
validation_failed.
Een issue heeft 0 of 1 toewijzing: een account of een team. Een account moet
het project kunnen lezen, en een team moet bij de organisatie van het project
horen. Zo niet, dan mislukt het request met 422 en validation_failed, en
wijzigt LogBrew niets. Haal de accounts die je kunt
toewijzen op via Toewijsbare accounts en teams opvragen. Elke andere
waarde voor assignee mislukt ook met 422 en validation_failed.
Een prioriteit die je zelf instelt, blijft vast. Zonder zelf ingestelde
prioriteit volgt de prioriteit de ernst van het issue: error en critical
worden high, warning wordt medium en info wordt low.
Een veld dat al de gevraagde waarde heeft, verandert niet. Na een time-out kun
je hetzelfde request opnieuw versturen. Een time-out bewijst niet dat de
wijziging niet is doorgevoerd. Lees het issue opnieuw voordat je een andere
wijziging verstuurt.
Eén issue bijwerken
Voegresponse_version=4 toe om archived, de prioriteit en de toewijzing in
de response te krijgen. In versie 4 is assignee
{ "type": "user", "user_id", "name", "email" },
{ "type": "team", "team_id", "slug", "name" } of null. In versie 3 is
een teamtoewijzing null.
Issues in bulk bijwerken
Stuurproject_id en 1 tot 100 verschillende issue-ID’s uit dat project:
project_id en results, met 1 resultaat per issue-ID, in de volgorde van
het request. Elk resultaat heeft issue_id, outcome en issue. issue is
het huidige issue in responseversie 3, of null bij not_found. Voeg
"response_version": 2 toe aan de body om elk issue in responseversie 4 te
krijgen.
Een lege lijst, meer dan 100 ID’s of een herhaald ID mislukt met
422 en
validation_failed. Verdeel een grotere set over meer requests. Kan het
account het project niet lezen, dan mislukt het request met 404 en
not_found.
Toewijsbare accounts en teams opvragen
Stuur het project-ID mee om elk account te krijgen aan wie je issues in dat project kunt toewijzen:user_id, name en email. name is null als het account geen naam
heeft. Voeg response_version=2 toe om ook teams te krijgen: elk team van
de organisatie van het project, met team_id, slug en name. Zie de
response met toewijsbare accounts en teams.
Elk account dat het project kan lezen, kan deze lijst ophalen. Kan het
account het project niet lezen, dan mislukt het request met 404 en
not_found.
Verliest een lid de toegang tot het project, dan tonen de issues die aan dat
lid waren toegewezen geen toewijzing meer. Krijgt het lid weer toegang, dan
tonen de issues dat lid opnieuw, tenzij iemand de toewijzing intussen heeft
gewijzigd of opgeheven.
Eigenaarsregels en voorgestelde eigenaren
GET /api/telemetry/issues/ownership?project_id=<project-uuid> geeft
rules, codeowners, updated_at en unresolved_owners terug. Elk account
dat het project kan lezen, kan dit lezen. PUT met project_id en rules,
codeowners of allebei vervangt die tekst en vraagt het recht om issues te
beheren. Een veld dat je weglaat, houdt zijn tekst, en een lege string wist
die. Elke tekst is maximaal 128 KiB. Ongeldige tekst mislukt met 422 en
noemt de regel waar het misgaat.
GET /api/telemetry/issues/{issue_id}/owners?response_version=2 geeft
suggested_assignee, owners en inputs terug. Elke eigenaar heeft type
(user of team), source (ownership_rule, codeowners of
recent_activity), rule, line en matched. Versie 1, de standaard, toont
alleen accounts.
Issuegeschiedenis
GET /api/telemetry/issues/{issue_id}/activity?response_version=2 geeft
activity terug, de nieuwste eerst, en next_cursor. Elk item heeft type
(status, priority, assigned, unassigned, severity_rule of
first_seen), value, actor_id, actor, assignee_id, assignee,
team en at. limit is 1 tot 200, standaard 50. Stuur cursor_time en
cursor_id uit next_cursor mee voor de volgende pagina.
Meldingen
GET /api/telemetry/issues/notifications geeft notifications, unread,
read_at en next_cursor terug. Elke melding is een toewijzing van een issue
aan jou of aan je team door een ander account. POST /api/telemetry/issues/notifications/read met een leeg JSON-object, of met
read_at, verplaatst je leesmarkering. De markering gaat nooit terug.
Regels voor issues en logs instellen
Een regel verandert hoe LogBrew overeenkomende signalen toont. Hij verwijdert geen gegevens. De vastgelegdeseverity blijft ongewijzigd, en de response
toont de regel in triage.
severity is info, warning, error, critical of source. source
verwijdert de overschrijving en toont weer de vastgelegde ernst. Bij een
logregel verbergt ignored: true overeenkomende logs in de standaardlijst met
logs. Lees ze met status=ignored of status=all. De regel geldt voor
bewaarde en toekomstige overeenkomende signalen. Een andere waarde mislukt met
422 en validation_failed.
