Görünüm
Metin boyutu
Yazı tipi
Satır aralığı
3
Bölüm 3 · 3 dk

Pull request'lerinizde Claude Code

Claude Code action'ı ajanı bir GitHub workflow'unun içinde çalıştırıyor: ya @claude çağrısını bekliyor ya da herhangi bir olayda bir prompt çalıştırıyor. Kurulum kısa, işlerin ters gittiği yer erişim ve secret seçimleri.


İki çalışma biçimi

anthropics/claude-code-action@v1, Claude Code'u bir workflow'un içinde çalıştırıyor. Nasıl davranacağı tek bir girdiye bağlı.

prompt vermezseniz interaktif çalışıyor. Birisi bir pull request ya da issue'ya @claude yazdığında tepki veriyor ve o yorumun istediğini yapıyor.

prompt verirseniz otomasyon modunda, bağladığınız her olayda çalışıyor: PR açılması, bir etiket, bir cron zamanı. Kimse istemiyor. İstek workflow dosyasının kendisi.

Bir olay tetiklenir: PR, issue, yorum, cron
Workflow action'ı başlatır
Action, repo checkout edilmiş halde Claude'u çalıştırır
Claude GitHub üzerinden okur, düzenler, yorum yazar
Sonuç yorum ya da commit olarak düşer

Yerelde çalıştırdığınız ajanın aynısı, sadece bilgisayarınız yerine GitHub runner'ında çalışıyor.

Kurulum

Hızlı yol Claude Code içinde /install-github-app. Yalnızca github.com'da çalışıyor, gh ile giriş yapmış olmanızı ve repoda admin yetkisini istiyor.

Sonra workflow'un bir kimlik bilgisine ihtiyacı var. İki secret işe yarıyor: ANTHROPIC_API_KEY ya da claude setup-token ile oluşturduğunuz CLAUDE_CODE_OAUTH_TOKEN. Ekipler için bu seçim önemli. API key, kurum genelinde ortak bir secret için uygun. OAuth token tek bir kişinin aboneliğine ait, yani bütün ekip onunla çalışırsa bir kişinin hesabı üzerinden çalışıyor demek.

Hiç uzun ömürlü secret tutmak istemiyorsanız workload identity federation destekleniyor. anthropic_federation_rule_id gibi girdiler kullanıyor ve id-token: write izni istiyor. Bulut sağlayıcıları use_bedrock, use_vertex ya da use_foundry ile seçiliyor, hepsi OIDC üzerinden.

Kendinizi deneyin

Action'ı bütün ekibiniz tetikleyecek. Hangi kimlik bilgisi daha uygun ve neden?

Seçenekleri iletmek

claude_args her CLI bayrağını alıyor, yani headless dersindeki sınırlar burada geri geliyor. Örneğin --max-turns 5 başıboş dolaşan bir çalıştırmayı durdurur, --model modeli seçer. Bu alanı işi sınırladığınız yer olarak düşünün.

CLAUDE.md her çalıştırmada okunuyor, yani uzun bir CLAUDE.md her pull request'te bedel ödetiyor. Kısa tutun.

Kim tetikleyebilir

Action'ı tetikleyen kullanıcının repoda yazma erişimi olmalı. Bot'lar allowed_bots içinde listelenmedikçe reddediliyor.

Zamanlanmış çalıştırmalarda ince bir kural var: çalıştırma, cron satırını en son düzenleyen kişiye atfediliyor. O kişi bir bot ise ve bot izinli değilse çalıştırma reddediliyor. Ayrıca GitHub, herkese açık repolarda 60 gün hareketsizlikten sonra schedule'ları kapatıyor, yani sessiz bir reponun gece işi Claude'dan hiçbir hata gelmeden durabilir.

Prompt'a ne yazılır

Otomasyon modunda düzeltecek bir insan olmadığı için prompt, işi ve sınırını birlikte taşıyor. İşe yarayan bir review prompt'u neye bakılacağını, neyin yok sayılacağını ve nerede duracağını söyler. Örneğin: diff'te eksik hata yönetimini incele, yalnızca değişen satırlara yorum yaz, dosya düzenleme. Cron'da çalışan ucu açık bir prompt, sınırsız bir script döngüsüyle aynı sorun.

Kendinizi deneyin

Claude bir commit push etti ama CI kontrolleriniz çalışmadı. Olası sebep nedir?

Devamını okuyun