Open source
Git for Laravel
composer require roundly-consulting/git-for-laravelPrehľad
Natívny Laravel klient pre GitHub, GitLab a Bitbucket. Providera získate z fasády Git (alebo z injektovaného GitManager), prihlásite sa raz — tokenom, cez OAuth alebo GitHub App — a repozitáre, commity, pull requesty, issues, releasy, súbory aj webhooky čítate a zapisujete cez jedno API, ktoré vracia typované dátové objekty. Podpísané prichádzajúce webhooky dorazia ako Laravel eventy a vstavaný fake umožní otestovať všetko bez siete. Licencia MIT, postavené na vlastnom HTTP klientovi Laravelu bez runtime závislostí tretích strán — kryptografia, enumy a obmedzovanie rýchlosti pochádzajú z našich vlastných sprievodných balíkov.
Čo získate
Tri platformy, jedno API
GitHub, GitLab a Bitbucket za jednou fasádou Git — alebo za injektovaným GitManager — takže zmena platformy je zmena jedného slova.
Typované, jednotné dáta
Každý výsledok je typovaný objekt s normalizovaným ResourceState a s únikovou cestou raw() pre polia mimo modelu.
Čítanie, zápis a review
Repozitáre, commity, pull requesty, issues, releasy, súbory a diffy — vrátane ich vytvárania, review a mergovania.
Samoobnovujúce sa prihlásenie
Inštalačné tokeny GitHub App a OAuth tokeny sa vydávajú, kešujú a obnovujú automaticky, s obmedzením na repozitár.
Podpísané webhooky ako eventy
Prichádzajúce webhooky overené v konštantnom čase a doručené ako typované Laravel eventy, plus idempotentná registrácia.
Bezpečné voči limitom
Klientske rozkladanie požiadaviek, adaptívne čakanie podľa Retry-After, opakovanie čítaní a ETag cache — zápisy sa nikdy neopakujú.
Testovateľné bez HTTP
Git::fake() nasadí zaznamenávajúceho dvojníka pre fasádu aj injektovaný manažér, s reťaziteľnými seedermi a asserciami volaní.
Dokumentácia
Inštalácia
Inštalácia cez Composer, voliteľne publikovanie konfigurácie a webhook routy — service provider aj fasáda Git sa načítajú automaticky.
Konfigurácia
Každý kľúč a jeho predvolená hodnota — URL, tokeny, opakovania a limity providerov, GitHub App a OAuth, cache, logovanie, webhooky, dávky.
Fasáda Git
Všetko začína pri Git:: — driver pre každú platformu, handly repo() a pullRequest(), vyhľadanie inštalácií, overenie webhookov a ochrana rozsahu.
Bez fasády
Namiesto fasády injektujte GitManager alebo siahnite po plochých metódach Provider, ktoré handly obaľujú — rovnaký kód, rovnaký fake.
Provideri a prihlásenie
Získajte GitHub, GitLab či Bitbucket z fasády Git, prihláste sa tokenom, cez OAuth alebo GitHub App, prípadne čítajte verejné repozitáre anonymne.
Repozitáre a stránkovanie
Načítajte prihláseného používateľa, repozitáre po typovaných stránkach alebo ako lazy stream cez všetky stránky, vyhľadávajte a čítajte jeden repozitár.
Vetvy a commity
Vypíšte vetvy, filtrujte commity podľa vetvy, autora, cesty a dátumu fluentným dopytom, stránkujte či streamujte ich a načítajte jeden commit.
Pull requesty, issues a súbory
Čítajte pull/merge requesty, issues, tagy, releasy, dekódovaný obsah súborov, diffy, prispievateľov a jazyky ako typované objekty.
Dátový model a surové dáta
Objekty nezávislé od platformy s normalizovaným ResourceState, únikovou cestou raw() pre polia mimo modelu a čistým výstupom do poľa a JSON.
Súbežné dávkové čítanie
Rozošlite množstvo čítaní v jednom kole Http::pool() a získajte BatchResult podľa kľúčov, ktorý oddeľuje úspechy od chýb jednotlivých kľúčov.
Zápisové operácie
Vytvárajte vetvy, súbory, pull requesty, komentáre, releasy, tagy a webhooky cez validované vstupné objekty — zápisy sa nikdy neopakujú.
Vytváranie repozitárov
Vytvárajte repozitáre pod používateľom, v organizácii alebo zo šablóny, s úvodným commitom a zvolenou predvolenou vetvou.
Merge a review pull requestov
Zatvárajte, schvaľujte a mergujte pull requesty pripnuté na head SHA, publikujte celé review s inline komentármi a čítajte review späť.
GitHub App a OAuth tokeny
Samoobnovujúce sa inštalačné tokeny GitHub App a OAuth prístupové tokeny — vydávané, kešované a obnovované automaticky, s eventom pri rotácii.
Obmedzené tokeny a inštalácie
Obmedzte inštalačné tokeny na konkrétne repozitáre, overujte inštalácie v mene aplikácie a posielajte používateľov nainštalovať vašu GitHub App.
URL na klonovanie
Zostavte prihlásené HTTPS URL na klonovanie zo statického tokenu, OAuth prístupu alebo inštalačného tokenu GitHub App.
Webhooky
Prijímajte webhooky s overeným podpisom ako typované Laravel eventy a zaregistrujte svoj endpoint na repozitári idempotentne jedným volaním.
Opakovania, cache a limity
Opakovanie čítaní s pauzou, podmienená ETag cache, klientske rozkladanie požiadaviek s adaptívnym čakaním, stav limitov a bezpečné logovanie.
Detekcia funkcií
Overte, čo provider podporuje, skôr než ho zavoláte, prečítajte celú maticu schopností a porovnajte GitHub, GitLab a Bitbucket vedľa seba.
Artisan príkazy
Vypíšte repozitáre a commity, skontrolujte stav limitov a zaregistrujte, vypíšte či odstráňte webhooky repozitára z príkazového riadka.
Chyby a výnimky
Každá výnimka, ktorú balík vyhadzuje, kedy nastane a ako sa na ňu mapujú HTTP stavy z platformy.
Testovanie
Git::fake() zaznamená každé volanie providera pre fasádu aj injektovaný manažér — naplňte odpovede, spustite kód bez HTTP a overte, čo odišlo.
Požiadavky
PHP 8.4+, Laravel 12 alebo 13 a štyri sprievodné balíky Roundly, ktoré Composer nainštaluje automaticky.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.