Özet - GitHub API
- Git kursu
- Uzman
- Ders 24/32
- 5 dk
API parçalarını birleştirerek otomatik akış kurarsın.
GitHub API ile otomasyon
GitHub REST API; depo bilgilerini alma, kullanıcıyı doğrulama ve organizasyon kaynaklarını yönetme gibi işlemleri otomatikleştirebilir. Bir betik bu işlemleri belirli bir sırayla çalıştırarak tekrarlanan görevleri azaltabilir.
GET /user
GET /repos/{owner}/{repo}
GET /orgs/{org}/teamsKimlik doğrulaması gereken isteklerde token kullanılır. Token izinleri yalnızca yapılacak işlemleri kapsamalıdır.
Uygulama Kimlik doğrulamalı API akışı oluştur
GITHUB_TOKEN değişkenini kullanarak önce GitHub kullanıcı endpoint'ine, ardından my-company organizasyonunun ekip endpoint'ine GET isteği gönder. Her iki istekte de Bearer kimlik doğrulaması ve JSON Accept başlığı kullan. Her isteğin HTTP durum kodunu yazdır.
Başlangıç kodu
# Kullanıcı bilgilerini iste ve durum kodunu göster
# Organizasyon ekiplerini iste ve durum kodunu gösterÖrnek çözüm
curl -sS -o /dev/null -w "%{http_code}\n" -X GET -H "Authorization: Bearer $GITHUB_TOKEN" -H "Accept: application/vnd.github+json" https://api.github.com/user
curl -sS -o /dev/null -w "%{http_code}\n" -X GET -H "Authorization: Bearer $GITHUB_TOKEN" -H "Accept: application/vnd.github+json" https://api.github.com/orgs/my-company/teamsBeklenen çıktı
200 200
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir otomasyon betiğinin önce token ile kullanıcıyı doğrulaması, ardından bir organizasyonun ekiplerini listelemesi gerekiyor. Hangi yaklaşım uygundur?
- Yalnızca yerel Git komutları çalıştırmak
- REST API isteklerini Authorization başlığıyla sıralamak Doğru cevap
- Her işlem için tarayıcıyı elle kullanmak
- Depoyu yeniden klonlamak
Açıklama: REST API istekleri Authorization başlığındaki token ile kimlik doğrulayarak otomatik bir akış oluşturabilir.
2 Otomasyon isteğinin kimlik doğrulamasını tamamla
curl -H "Authorization: Bearer $GITHUB_TOKEN" -H "Accept: application/vnd.github+json" https://api.github.com/user____
curl -H "Authorization: Bearer $GITHUB_TOKEN" -H "Accept: application/vnd.github+json" https://api.github.com/userAccept
Açıklama: Accept başlığı, API'den beklenen yanıt biçimini belirtir.
3 GitHub API akışının parçaları
| Kavram | Anlamı |
|---|---|
REST API |
HTTP üzerinden kaynaklara erişir |
Token |
Kimlik doğrulama bilgisi taşır |
Organization |
Üye ve ekipleri bir araya getirir |
Automation |
Tekrarlanan istekleri otomatik yürütür |