KabaForge
🌍 Türkçe · English · Deutsch · Français · Русский

16 — API ile çalışma

Arayüzde yapabildiğiniz hemen her şey HTTP üzerinden de yapılabilir: yedekleme, raporlama, kendi araçlarınız.

Kimlik doğrulama

Erişim jetonu üretin (bölüm 10) ve her isteğe başlık olarak ekleyin:

TOKEN=jetonunuz
curl -H "Authorization: token $TOKEN" \
  https://forge.kabaforce.com/api/v1/user

Jeton, üretirken seçtiğiniz yetkilerle sınırlıdır: salt-okur bir iş için yazma yetkisi vermeyin.

Sık kullanılan uçlar

Tabandaki adres: https://forge.kabaforce.com/api/v1

Ne verir
/userJetonun sahibi olan hesap
/user/repos?limit=50Erişebildiğiniz depolar
/repos/search?q=kelimeDepo arama
/repos/{sahip}/{depo}Deponun künyesi
/repos/{sahip}/{depo}/contents/{yol}Dosya veya klasör içeriği
/repos/{sahip}/{depo}/branchesDallar
/repos/{sahip}/{depo}/commits?limit=10Son işlemeler
/repos/{sahip}/{depo}/issues?state=openAçık konular
/repos/{sahip}/{depo}/releases · /tagsSürümler ve etiketler

Listeler sayfalanır: ?page=2&limit=50.

Dosya okuma

curl -H "Authorization: token $TOKEN" \
  "https://forge.kabaforce.com/api/v1/repos/sahip/proje/contents/belgeler"

Dönen kayıtta content alanı base64'tür; ham içeriği doğrudan istemek daha kolaydır:

curl -H "Authorization: token $TOKEN" \
  https://forge.kabaforce.com/sahip/proje/raw/branch/main/readme.md

Dosya oluşturma ve güncelleme

curl -X POST -H "Authorization: token $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"aGVsbG8=","message":"not eklendi","branch":"main"}' \
  https://forge.kabaforce.com/api/v1/repos/sahip/proje/contents/notlar.md

content base64 kodludur. Var olan bir dosyayı güncellerken PUT kullanın ve dosyanın mevcut sha değerini gönderin — bu, başkasının değişikliğini sessizce ezmenizi engeller.

Konu açma

curl -X POST -H "Authorization: token $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title":"giriş sayfası mobilde kayıyor","body":"Adımlar: ..."}' \
  https://forge.kabaforce.com/api/v1/repos/sahip/proje/issues

Hata kodları

KodAnlamı
401Jeton yok, yanlış veya süresi dolmuş
403Jeton geçerli ama bu iş için yetkisi yok
404Yol yanlış — ya da özel bir depoya yetkisiz erişim
409Çakışma: güncellemede eski sha gönderdiniz
422Gövde eksik/hatalı (örneğin başlıksız konu)

Kurallar

⬅ Önceki: 15 — Kısayollar ve adres ipuçları📚 Tüm bölümlerSonraki: 17 — Gelişmiş Markdown ➡