Skip to main content
Telemetri API’si, https://api.logbrew.co adresinde HTTP üzerinden JSON kullanır. Herkese açık SDK’lar yönettikleri toplu gönderimleri POST /v1/events adresine gönderir. Özel native istemciler native zarfları POST /api/telemetry/ingest adresine gönderir. İki alım rotası da proje kapsamlı bir alım bearer tokenı gerektirir. Okumalar ve hesaba ait değişiklikler hesap bearer tokenı kullanır. Hesap bearer tokenını veya tarayıcı oturumunu asla SDK ya da alım yapılandırması olarak kullanmayın. Alım bearer tokenını asla bir okuma rotasına göndermeyin.

Sınırlı bir istek gönderin

Bir istemci istek göndermeden önce bu kontrol listesini kullanın:
  1. Uç nokta tablosundan rotayı ve HTTP yöntemini seçin.
  2. Doğru bearer tokenını kullanın: Veri alımı için alım bearer tokenı, diğer her şey için hesap bearer tokenı.
  3. Rotanın desteklediği proje kapsamını seçin. Boş bir yanıttan sonra kapsamı genişletmeyin.
  4. Yalnızca rotanın kabul ettiği sorgu anahtarlarını ekleyin. Sorgu filtreleri sayfasına bakın.
  5. Rotanın JSON gövdesi varsa Content-Type: application/json gönderin.
  6. Yeniden denemeden önce HTTP durumunu ve yanıt gövdesini okuyun.
  7. Bearer tokenlarını, akış biletlerini ve yanıt gövdelerinin tamamını logların ve agent promptlarının dışında tutun.

Uç noktalar

Veri alımı

/v1/events toplu gönderimlerini SDK’nın oluşturmasına izin verin. Bunları elle oluşturmayın. Native zarf için SDK entegrasyonu sayfasına bakın.

Telemetri okumaları

Dağıtımlar

Dağıtım başarılı veya başarısız olduktan sonra onu sürüm otomasyonundan kaydedin. PUT gövdesi project_id, release, environment, service_name, status (succeeded veya failed), started_at, finished_at ve isteğe bağlı bir commit_sha içerir. SDK’nızın gönderdiği release, environment ve service_name değerlerinin aynısını kullanın. Proje hesaba ait olmalıdır. deployment_id, dağıtım için sizin belirlediğiniz kimliktir. Aynı kimlik ve aynı gövdeyle yapılan yeniden deneme saklanan dağıtımı döndürür. Aynı kimlik farklı bir gövdeyle 409 ve idempotency_conflict ile başarısız olur. Farklı bir dağıtım için yeni bir kimlik kullanın.

İncelemeler

Her inceleme rotası tek bir konu için sınırlı bir kanıt paketi döndürür. CLI logbrew explain komutu bu rotaları okur ve yanıtı doğrular.

Ürün analizleri

POST analiz rotaları sorgu anahtarları değil, bir JSON gövdesi alır. Ürün analizleri sayfasına bakın.

Canlı akış

Hesap ve giriş

Kullanım, kota, abonelik ve çıkış rotaları Hesap API’si sayfasındadır.

Başarı durum kodları

200 yanıtı kanıtın eksiksiz olduğunu kanıtlamaz. Yanıttaki kapsama oranı, kısaltma ve durum alanlarını okuyun.

Sorgu filtreleri ve sayfalama

Her okuma rotası kendi sorgu anahtarlarını kabul eder. project, trace ve user gibi kolay takma adlar sorgu anahtarı değildir. Liste rotaları varsayılan olarak yalın bir dizi, pagination=cursor ile ise bir cursor zarfı döndürür. Dağıtım listesi her zaman bir sayfa nesnesi döndürür. Sorgu filtreleri sayfasına bakın.

Yanıtlar ve hatalar

İnsanlar için yazılmış mesajdan önce code değerini okuyun. Program davranışı için next_action, insanlara yönlendirme için next değerini kullanın. error veya next metninin ifadesini ayrıştırmayın.

Sorunları güncelleyin

Bu istekler hesap bearer tokenı kullanır. Bu token bilerek LOGBREW_INGEST_BEARER değerinden farklıdır. Hesabın, sorunun projesinde sorunları yönetme izni olmalıdır. İzin yoksa istek 403 ve forbidden ile başarısız olur. Aynı izin durum, öncelik ve sorumlu değişikliklerini, sorun ve log kurallarını kapsar. Her istek bu alanlardan 1 veya daha fazlasını ayarlar: Bu alanların hiçbirini içermeyen bir istek 422 ve validation_failed ile başarısız olur. Bir sorunun 0 veya 1 sorumlusu olur: bir hesap ya da bir ekip. Hesap projeyi okuyabilmeli, ekip de projenin organizasyonunda olmalıdır. Aksi hâlde istek 422 ve validation_failed ile başarısız olur ve LogBrew hiçbir şeyi değiştirmez. Atayabileceğiniz hesapları Sorumluları listeleyin bölümünden alın. Diğer her assignee değeri de 422 ve validation_failed ile başarısız olur. Ayarladığınız öncelik sabit kalır. Sizin ayarladığınız bir öncelik yoksa öncelik sorunun önem düzeyini izler: error ve critical için high, warning için medium, info için low olur. İstenen değere zaten sahip olan bir alan değişmez. Bir zaman aşımından sonra aynı isteği yeniden gönderebilirsiniz. Zaman aşımı, değişikliğin gerçekleşmediğini kanıtlamaz. Farklı bir değişiklik göndermeden önce sorunu yeniden okuyun.

Tek bir sorunu güncelleyin

Yanıtta archived durumunu, önceliği ve sorumluyu almak için response_version=4 ekleyin. Sürüm 4’te assignee değeri { "type": "user", "user_id", "name", "email" }, { "type": "team", "team_id", "slug", "name" } veya null olur. Sürüm 3, ekip sorumlusunu null olarak gösterir.
Yanıt güncellenmiş sorundur. Sorun durumu yanıt örnekleri bölümüne bakın.

Sorunları toplu güncelleyin

project_id değerini ve o projeden 1 ile 100 arası farklı sorun kimliğini gönderin:
İstek aynı değişikliği her soruna uygular. Yanıt project_id ve results alanlarını içerir. results, istek sırasıyla her sorun kimliği için 1 sonuç içerir. Her sonuç issue_id, outcome ve issue alanlarını içerir. issue, yanıt sürümü 3’te güncel sorundur. not_found için null olur. Her sorunu yanıt sürümü 4’te almak için gövdeye "response_version": 2 ekleyin. Boş bir liste, 100’den fazla kimlik veya tekrarlanan bir kimlik 422 ve validation_failed ile başarısız olur. Daha büyük bir kümeyi birden fazla isteğe bölün. Hesap projeyi okuyamıyorsa istek 404 ve not_found ile başarısız olur.

Sorumluları listeleyin

O projede sorun atanabilecek tüm hesapları almak için proje kimliğini gönderin:
Liste projeyi okuyabilen her hesabı içerir. Her girdi user_id, name ve email alanlarını içerir. Hesabın adı yoksa name değeri null olur. teams listesini de almak için response_version=2 ekleyin. Bu liste, projenin organizasyonundaki her ekibi team_id, slug ve name ile verir. Sorumlu listesi yanıtı bölümüne bakın. Projeyi okuyabilen her hesap bu listeyi alabilir. Hesap projeyi okuyamıyorsa istek 404 ve not_found ile başarısız olur. Bir üye projeye erişimini kaybettiğinde o üyeye atanan sorunlar sorumlu göstermez. Üye erişimi yeniden alırsa sorunlar o üyeyi yeniden gösterir. Ancak bu arada biri sorumluyu değiştirdiyse veya kaldırdıysa bu olmaz.

Sahiplik ve önerilen sahipler

GET /api/telemetry/issues/ownership?project_id=<project-uuid> isteği rules, codeowners, updated_at ve unresolved_owners döndürür. Projeyi okuyabilen her hesap bunu okuyabilir. project_id ile birlikte rules, codeowners veya ikisini gönderen bir PUT isteği o metni değiştirir ve sorunları yönetme izni gerektirir. Göndermediğiniz bir alanın metni korunur, boş bir dize ise metni temizler. Her metin en fazla 128 KiB olabilir. Geçersiz metin 422 ile başarısız olur ve hatalı satırı belirtir. GET /api/telemetry/issues/{issue_id}/owners?response_version=2 isteği suggested_assignee, owners ve inputs döndürür. Her sahipte type (user veya team), source (ownership_rule, codeowners veya recent_activity), rule, line ve matched bulunur. Varsayılan sürüm 1 yalnızca hesapları listeler.

Sorun geçmişi

GET /api/telemetry/issues/{issue_id}/activity?response_version=2 isteği en yeniden başlayarak activity ve next_cursor döndürür. Her girdide type (status, priority, assigned, unassigned, severity_rule veya first_seen), value, actor_id, actor, assignee_id, assignee, team ve at bulunur. limit 1 ile 200 arasındadır, varsayılanı 50’dir. Sonraki sayfa için next_cursor içinden gelen cursor_time ve cursor_id değerlerini gönderin.

Bildirimler

GET /api/telemetry/issues/notifications isteği notifications, unread, read_at ve next_cursor döndürür. Her bildirim, başka bir hesabın bir sorunu size veya ekibinize atamasıdır. Boş bir JSON nesnesiyle ya da read_at ile gönderilen POST /api/telemetry/issues/notifications/read isteği okundu işaretinizi taşır. İşaret hiçbir zaman geri gitmez.

Sorun ve log kurallarını ayarlayın

Bir kural, LogBrew’ün eşleşen sinyalleri nasıl gösterdiğini değiştirir. Veri silmez. Yakalanan severity değeri değişmez. Yanıt kuralı triage içinde gösterir. severity değeri info, warning, error, critical veya source olur. source geçersiz kılmayı kaldırır ve yakalanan önem düzeyini yeniden gösterir. Log kuralında ignored: true, eşleşen logları varsayılan log listesinden gizler. Bu logları status=ignored veya status=all ile okuyun. Kural saklanan ve gelecekte eşleşecek sinyallere uygulanır. Başka bir değer 422 ve validation_failed ile başarısız olur.
Boş sürüm göndermeyin. LogBrew sürüm takibinin güvenilir kalması için bunları reddeder.