https://api.logbrew.co.
Publiczne SDK wysyłają zarządzane przez siebie paczki do POST /v1/events.
Własne klienty natywne wysyłają natywne koperty do
POST /api/telemetry/ingest. Obie trasy wysyłania wymagają tokena bearer
wysyłania przypisanego do projektu.
Odczyty i zmiany należące do konta używają tokena bearer konta. Nigdy nie
używaj tokena bearer konta ani sesji przeglądarki jako konfiguracji SDK lub
wysyłania. Nigdy nie wysyłaj tokena bearer wysyłania do trasy odczytu.
Wyślij żądanie o ograniczonym zakresie
Zanim klient wyśle żądanie, przejdź przez tę listę kontrolną:- Wybierz trasę i metodę HTTP z tabeli endpointów.
- Użyj właściwego tokena bearer: tokena bearer wysyłania do przyjmowania danych, a tokena bearer konta do wszystkiego innego.
- Wybierz zakres projektu, który obsługuje trasa. Nie poszerzaj zakresu po pustej odpowiedzi.
- Dodawaj tylko parametry zapytania, które trasa przyjmuje. Zobacz Filtry zapytań.
- Wysyłaj
Content-Type: application/json, gdy trasa ma treść JSON. - Zanim ponowisz żądanie, odczytaj status HTTP i treść odpowiedzi.
- Nie umieszczaj tokenów bearer, biletów podglądu na żywo ani pełnych treści odpowiedzi w logach i promptach agentów.
Endpointy
Przyjmowanie danych
Paczki
/v1/events niech buduje SDK. Nie twórz ich ręcznie. Natywną kopertę
opisuje strona Integracja SDK.
Odczyty telemetrii
Wdrożenia
Zapisz wdrożenie z automatyzacji wydań po jego sukcesie lub niepowodzeniu.
Treść
PUT zawiera project_id, release, environment, service_name,
status (succeeded lub failed), started_at, finished_at i opcjonalne
commit_sha. Użyj tych samych wartości release, environment i
service_name, które wysyła SDK. Konto musi być właścicielem projektu.
deployment_id to twoje własne ID wdrożenia. Ponowienie z tym samym ID i tą
samą treścią zwraca zapisane wdrożenie. To samo ID z inną treścią kończy się
błędem 409 i idempotency_conflict. Dla innego wdrożenia użyj nowego ID.
Analizy
Każda trasa analizy zwraca ograniczony pakiet dowodów dla jednego obiektu analizy. Polecenie CLIlogbrew explain odczytuje te trasy i
weryfikuje odpowiedź.
Analityka produktowa
Trasy analityki
POST przyjmują treść JSON, a nie parametry zapytania.
Zobacz Analityka produktowa.
Podgląd na żywo
Konto i logowanie
Trasy wykorzystania, limitów, subskrypcji i wylogowania opisuje strona API konta.Kody statusu sukcesu
Odpowiedź
200 nie dowodzi, że dowody są kompletne. Odczytaj w odpowiedzi
pola pokrycia, obcięcia i statusu.
Filtry zapytań i paginacja
Każda trasa odczytu przyjmuje własne parametry zapytania. Przyjazne aliasy, takie jakproject, trace i user, nie są parametrami zapytania. Trasy
list domyślnie zwracają samą tablicę, a z pagination=cursor – kopertę z
kursorem. Lista wdrożeń zawsze zwraca obiekt strony. Zobacz
Filtry zapytań.
Odpowiedzi i błędy
- Formaty odpowiedzi pokazują po jednym przykładzie dla każdej rodziny odpowiedzi.
- Błędy API zawierają kody błędów i kroki naprawcze.
code przed komunikatem dla człowieka. Używaj next_action do
sterowania programem, a next jako wskazówki dla człowieka. Nie parsuj treści
error ani next.
Zaktualizuj problemy
Te żądania używają tokena bearer konta. Celowo różni się on odLOGBREW_INGEST_BEARER. Konto musi mieć uprawnienie do zarządzania
problemami w projekcie, do którego należy problem. Jeśli go nie ma, żądanie
kończy się błędem 403 i forbidden. To samo uprawnienie obejmuje zmiany
statusu, priorytetu i przypisania oraz reguły problemów i logów.
Każde żądanie ustawia co najmniej 1 z tych pól:
Żądanie bez żadnego z tych pól kończy się błędem
422 i
validation_failed.
Problem może być przypisany najwyżej do 1 konta albo 1 zespołu. Konto musi
mieć dostęp do odczytu projektu, a zespół musi należeć do organizacji
projektu. W przeciwnym razie żądanie kończy się błędem 422 i
validation_failed, a LogBrew niczego nie zmienia. Konta, które możesz
przypisać, pobierzesz zgodnie z sekcją
Wyświetl konta i zespoły do przypisania. Każda inna wartość
assignee też kończy się błędem 422 i validation_failed.
Priorytet ustawiony ręcznie się nie zmienia. Bez ręcznie ustawionego
priorytetu priorytet wynika z ważności problemu: error i critical dają
high, warning daje medium, a info daje low.
Pole, które ma już żądaną wartość, się nie zmienia. Po przekroczeniu limitu
czasu możesz wysłać to samo żądanie ponownie. Przekroczenie limitu czasu nie
dowodzi, że zmiana nie nastąpiła. Zanim wyślesz inną zmianę, odczytaj problem
ponownie.
Zaktualizuj jeden problem
Dodajresponse_version=4, aby dostać w odpowiedzi archived, priorytet i
przypisanie. W wersji 4 assignee ma postać
{ "type": "user", "user_id", "name", "email" },
{ "type": "team", "team_id", "slug", "name" } albo null. Wersja 3
pokazuje przypisanie do zespołu jako null.
Zaktualizuj wiele problemów naraz
Wyślijproject_id i od 1 do 100 różnych ID problemów z tego projektu:
project_id
i results, z 1 wynikiem dla każdego ID problemu, w kolejności z żądania.
Każdy wynik ma issue_id, outcome i issue. issue to bieżący problem w
wersji odpowiedzi 3 albo null dla not_found. Dodaj
"response_version": 2 do treści żądania, aby dostać każdy problem w wersji
odpowiedzi 4.
Pusta lista, więcej niż 100 ID lub powtórzone ID kończą się błędem
422 i
validation_failed. Większy zbiór podziel na kilka żądań. Jeśli konto nie
może odczytać projektu, żądanie kończy się błędem 404 i not_found.
Wyświetl konta i zespoły do przypisania
Wyślij ID projektu, aby dostać każde konto, któremu można przypisywać problemy w tym projekcie:user_id, name i email. name ma wartość null, gdy konto nie ma nazwy.
Dodaj response_version=2, aby dostać też teams: każdy zespół organizacji
projektu, z polami team_id, slug i name.
Zobacz odpowiedź z listą kont i zespołów do przypisania.
Tę listę może pobrać każde konto, które może odczytywać projekt. Jeśli konto
nie może odczytać projektu, żądanie kończy się błędem 404 i not_found.
Gdy członek traci dostęp do projektu, przypisane do niego problemy nie
pokazują przypisania. Jeśli członek odzyska dostęp, problemy znowu go
pokazują, chyba że ktoś w międzyczasie zmienił lub usunął przypisanie.
Własność i proponowani właściciele
GET /api/telemetry/issues/ownership?project_id=<project-uuid> zwraca
rules, codeowners, updated_at i unresolved_owners. Może je odczytać
każde konto, które może odczytywać projekt. PUT z project_id oraz rules,
codeowners lub obydwoma polami zastępuje ten tekst i wymaga uprawnienia do
zarządzania problemami. Pole, które pominiesz, zachowuje swój tekst, a pusty
ciąg znaków go czyści. Każdy tekst może mieć najwyżej 128 KiB. Nieprawidłowy
tekst kończy się błędem 422 ze wskazaniem wiersza.
GET /api/telemetry/issues/{issue_id}/owners?response_version=2 zwraca
suggested_assignee, owners i inputs. Każdy właściciel ma type (user
lub team), source (ownership_rule, codeowners lub recent_activity),
rule, line i matched. Wersja 1, domyślna, wyświetla tylko konta.
Historia problemu
GET /api/telemetry/issues/{issue_id}/activity?response_version=2 zwraca
activity, od najnowszych wpisów, oraz next_cursor. Każdy wpis ma type
(status, priority, assigned, unassigned, severity_rule lub
first_seen), value, actor_id, actor, assignee_id, assignee,
team i at. limit przyjmuje wartości od 1 do 200, domyślnie 50. Aby
pobrać następną stronę, wyślij cursor_time i cursor_id z next_cursor.
Powiadomienia
GET /api/telemetry/issues/notifications zwraca notifications, unread,
read_at i next_cursor. Każde powiadomienie to przypisanie problemu tobie
lub twojemu zespołowi przez inne konto. POST /api/telemetry/issues/notifications/read z pustym obiektem JSON lub z
read_at przesuwa twój znacznik odczytu. Znacznik nigdy nie cofa się.
Ustaw reguły problemów i logów
Reguła zmienia sposób, w jaki LogBrew pokazuje pasujące sygnały. Nie usuwa danych. Zarejestrowaneseverity pozostaje bez zmian, a odpowiedź pokazuje
regułę w triage.
severity ma wartość info, warning, error, critical lub source.
source usuwa nadpisanie i znowu pokazuje zarejestrowaną ważność. W regule
logów ignored: true ukrywa pasujące logi na domyślnej liście logów.
Odczytasz je przez status=ignored lub status=all. Reguła dotyczy
przechowywanych i przyszłych pasujących sygnałów. Inna wartość kończy się
błędem 422 i validation_failed.
