CodeBlanks Logo Icon CodeBlanks

Özet - GitHub API

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}/teams

Kimlik 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

terminal
# Kullanıcı bilgilerini iste ve durum kodunu göster
# Organizasyon ekiplerini iste ve durum kodunu göster

Örnek çözüm

terminal
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/teams

Beklenen çı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

Soru
curl -H "Authorization: Bearer $GITHUB_TOKEN" -H "Accept: application/vnd.github+json" https://api.github.com/user____
Cevap
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

Uzman bölümündeki tüm dersler