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

16 — Travailler avec l'API

Presque tout ce que fait l'interface se fait aussi en HTTP : sauvegardes, rapports, vos propres outils.

Authentification

Créez un jeton d'accès (chapitre 10) et envoyez-le en en-tête à chaque requête :

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

Un jeton se limite aux permissions choisies à sa création : pas de droit d'écriture pour un travail en lecture seule.

Les points d'entrée les plus utilisés

Adresse de base : https://forge.kabaforce.com/api/v1

Point d'entréeCe qu'il renvoie
/userLe compte propriétaire du jeton
/user/repos?limit=50Les dépôts accessibles
/repos/search?q=motRecherche de dépôts
/repos/{proprietaire}/{depot}Fiche du dépôt
/repos/{proprietaire}/{depot}/contents/{chemin}Contenu d'un fichier ou dossier
/repos/{proprietaire}/{depot}/branchesBranches
/repos/{proprietaire}/{depot}/commits?limit=10Derniers commits
/repos/{proprietaire}/{depot}/issues?state=openTickets ouverts
/repos/{proprietaire}/{depot}/releases · /tagsVersions et étiquettes

Les listes sont paginées : ?page=2&limit=50.

Lire un fichier

curl -H "Authorization: token $TOKEN" \
  "https://forge.kabaforce.com/api/v1/repos/proprietaire/projet/contents/docs"

Le champ content revient encodé en base64 ; demander le fichier brut est souvent plus simple :

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

Créer et mettre à jour des fichiers

curl -X POST -H "Authorization: token $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"aGVsbG8=","message":"ajouter une note","branch":"main"}' \
  https://forge.kabaforce.com/api/v1/repos/proprietaire/projet/contents/notes.md

content est en base64. Pour mettre à jour un fichier existant, utilisez PUT et envoyez son sha actuel — c'est ce qui vous empêche d'écraser silencieusement le travail d'un autre.

Ouvrir un ticket

curl -X POST -H "Authorization: token $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title":"la page de connexion se décale sur mobile","body":"Étapes : ..."}' \
  https://forge.kabaforce.com/api/v1/repos/proprietaire/projet/issues

Codes d'erreur

CodeSignification
401Jeton absent, erroné ou expiré
403Jeton valide mais sans droit pour cette action
404Mauvais chemin — ou dépôt privé hors de votre portée
409Conflit : sha périmé lors d'une mise à jour
422Corps mal formé (un ticket sans titre, par exemple)

Règles

⬅ Précédent: 15 — Raccourcis et astuces d'adresse📚 Tous les chapitresSuivant: 17 — Markdown avancé ➡