Ana içeriğe atla

Devin ile Yazılım Geliştirme: Entegrasyonlar, Testler ve CI/CD (Bölüm 3)

Devin’in, Jira taleplerini yöneterek, Slack’i güncelleyerek ve birleştirmeden önce GitHub Actions ile CI/CD kontrolleri çalıştırarak ekiplerle nasıl entegre olduğunu öğrenin.
Güncel 3 Eki 2026  · 12 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Tekrar hoş geldiniz! ikinci eğitimin sonunda pastel temalı bir fp-ts oyun alanımız, NestJS + PostgreSQL bir backend’imiz ve anonim UUID ilerleme takibimiz vardı.

Devin serisindeki tüm eğitimlere buradan erişebilirsiniz:

  1. Kurulum ve İlk Pull Request (Bölüm 1)
  2. Devin ile Dikey Bir Dilim Yayınlamak (Bölüm 2)
  3. Entegrasyonlar, Testler ve CI/CD (Bölüm 3) 
  4. Güvenlik, Dağıtım, Bakım (Bölüm 4)

Şimdiye kadar yaptıklarımız tek başına geliştirme için harika, ancak artık Devin’in ekip iş akışlarıyla ne kadar iyi entegre olduğunu görmenin zamanı geldi. Bu üçüncü eğitimde şunlara bakacağız:

  • Entegrasyonlar: Devin Jira talepleri açacak, üzerinde çalışacak ve her PR durumunu doğrudan Slack’e iletecek.
  • Kalite kapıları:  API için Jest birim testleri, UI için Playwright uçtan uca akışları ekleyeceğiz ve %90 kapsama zorunluluğu getireceğiz.
  • CI/CD: GitHub Actions, birleştirme yapılmadan önce lint, tip kontrolü ve tüm testleri çalıştıracak, ayrıca Playwright raporlarını pull request’lere ekleyecek.

Henüz kimlik doğrulama ve üretim dağıtımları yok; onlar Bölüm 4’te!

Devin’de Slack Entegrasyonu Kurun

Devin’i iletişim ve talep akışınıza bağlama işlemi tamamen manuel ve Devin arayüzü üzerinden yapılıyor.

Devin ayarlarının entegrasyon sekmesinden Slack’e bağlanabilir veya Slack’in Uygulama Dizini’nden “Devin AI” uygulamasını kurabilirsiniz.

slack ile devin entegrasyonu

devin'in slack çalışma alanına erişim izni istemesi

Uygulama hâlâ OAuth iletişim kutusunda “Slack tarafından onaylanmadı” gösteriyor. Cognition, güvenlik incelemelerinin beklemede olduğunu ve işlevselliğin etkilenmediğini söylüyor.

Ardından bir kanal seçin:

devin için bir slack kanalı seçme

Sadece bahsederek Devin ile sohbet edebilirsiniz:

Ve UI’da erişebileceğiniz bir oturum başlatır:

Devin, UI’da bir oturum başlatıyor

Varsayılan olarak, seçtiğiniz kanalda PR güncellemeleri hakkında bildirim alırsınız; ancak her oturumun parametrelerinde özelleştirebileceğiniz birkaç farklı bildirim ayarı vardır.

Devin’de Jira Entegrasyonu Kurun

Jira ile entegre olmak için adanmış bir bot kullanıcısı (örn., devin-bot@…) hesabı oluşturmanız ve bu kimlik bilgilerini Devin → Team ▸ Integrations ▸ Jira altında bağlamanız gerekir.

Kişisel hesabınızdan yeni bir talep oluşturabilir ve devin etiketini ekleyebilirsiniz.

Devin, plan taslağı içeren bir analiz yorumu ve “Oturum başlatılsın mı?” istemi paylaşır. Kod yazmasına izin vermek için “yes” yazın veya etiketi kaldırarak talebi yalnızca insanlara bırakın.

Not: Devin, kartlarınızı panoda otomatik olarak taşımayacaktır. Yine de siz veya PM’iniz onları In Progress ya da Done sütununa sürüklemelisiniz. Bu, iş akışı kontrolünü insanlarda tutar.

Devin’in Jira Taleplerinden Çalışmasına İzin Vermek

Slack ve Jira bağlandıktan sonra, gerçek talepleri Devin’e atıp “ekip arkadaşı olarak ajan” deneyini denedim; bakıcılık yapmadan uygulayabilir mi görmek istedim.

Kullandığım iş akışı

İş akışım şöyleydi:

  1. Yeni oluşturduğum JIRA projemde bir talep oluşturup net bir kabul kriteri yazmak.
  2. devin etiketini eklemek; bu, Devin’in analiz etmesi için işaretidir.
  3. Devin adım adım plan, bir güven tahmini ile yorum yapar ve “Oturum başlatılsın mı?” diye sorar.

devin görevi

  1. Ben " Yes” yanıtını verdim. Talepte “Oturum başlatıldı” görünür ve web IDE bağlantısı verilir. PR birleştiğinde Devin, “Merged ✅” mesajını Slack’e gönderir ve ben kartı panoda taşırım. Ben “Yes” diyene kadar bunun hiçbiri ACU harcamaz.

Beş gerçek talep, beş bambaşka sonuç

Beş gerçek talep için olanların özeti şöyle:

Talep

Planlanan iş

ACU

Devin’in Gerçek Performansı

SQLite→Postgres’e geçiş

Veritabanı motorunu değiştirme, migrasyonları çalıştırma

0.6

Kusursuz. Tek commit, testler yeşil kaldı.

Sandpack UI’ını iyileştirme ve başarısız testleri düzeltme

UI düzenlemeleri + test güvenilirliği

5.0 (iki oturum)

Israrla geri SQLite’a dönmek istedi, migrasyon betiklerini kaçırdı, ACU yaktı. Sonunda limiti aşmadan bitirmek için UI ve testleri iki ayrı isteme böldüm.

Listelerde tamamlama tiklerini gösterme

Alıştırma listesine ✓ rozetleri ekleme

0.8

Tek seferde başarı; hatta iyimser UI ekledi.

Keşif sistemini doğrulama

Her dosyanın parse edildiğini uçtan uca kontrol etme

2.6

Backend kontrolleri geçti, ancak frontend hatası kaldı. İki küçük yönlendirme gerekti.

Terk edilmiş başarı kodunu kaldırma

Özellik bayrağını ve bayat bileşenleri silme

0.4

Devin “Düşük güven” uyarısı verdi, sonra 30 dosyayı nokta atışıyla kaldırıp import’ları sorunsuz güncelledi.

Rastgele hissi veren şeyler

İyileştirilmesi gerekenler şunlardı:

  • PR başlıkları: Her istemde bir adlandırma deseni belirttim ama Devin her seferinde yeni bir format uydurdu.
  • Veritabanına sadakat: Bir talepte Postgres’e göç etti, başka birinde ise sessizce SQLite’ı geri soktu.
  • ACU tahminleri: Analiz yorumu sandpack talebinin 1.5 ACU süreceğini söyledi, gerçekte iki oturum ve 5 ACU tuttu.
  • Güven düzeyi vs icra: Düşük güvenli bir talep 3 dakikada ve kusursuzca tamamlandı. Yüksek güvenli olan ise 45 dakika oyalandı.

Jira üzerinde Devin umut veriyor: iki talep kusursuz kapandı, biri hafif yönlendirmeyle bitti, en kötü durumda bile geri alma gerektirmedi, sadece zaman kaybettirdi. Ancak tutarlılık şimdilik yok; bu yüzden dar kapsam ve açık kısıtlar en iyi dostunuz.

Jest ve Playwright ile Otomatik Testler Ekleyin

Sohbet ve talepler akarken, sıradaki adım bozuk kodun sızamadığından emin olmaktı. Devin’den iki şey istedim: backend birim testleri ve bir öğrenenin tarayıcıda bir alıştırmayı düzenlemesini taklit eden uçtan uca Playwright testleri.

Backend birim testleri: şaşırtıcı derecede sorunsuz

GraphQL çözücüsü, servis katmanı ve Prisma modellerini kapsayan Jest test paketleri istedim. ACU tahmini sorduğumda 20 ACU!! diye yanıtladı.

Bunun bir hata olduğunu düşündüm ve yine de görevi başlattım. 1.1 ACU tuttu ve şimdiye kadarki en iyi icra edilen görev oldu.

Playwright e2e: kırmızı duvar, yeşil duvar

Bu biraz daha pahalıydı ve 2.3 ACU tuttu.

Kayıtlı akış: /learn/option-01 aç → kodu düzenle → ✓ bekle → sayfayı yenile → ✓ kalıcı.

İlk çalıştırmada, doğrulamaların yaklaşık %70’i başarısız oldu. Birçok yeniden boyutlandırma sorunu, bayat kontrol paneli sayımları ve mutlu yolun bile kararsızlığı vardı.

İstemimdeki “Başarısız testleri yok say, sonra düzeltiriz” komutuna rağmen, Devin paket çoğunlukla yeşile dönene kadar kodu yamamaya devam etti (faydalı ama istediğim bu değildi).

Sistemde epey hata olduğu için hâlâ başarısız bazı testlerimiz var. Ama sorun değil, hepsinin yeşil olduğundan emin olmak için bunları daha sonra düzenleyeceğiz.

Tek Tıkla GitHub Actions Boru Hattı Ekleyin

Birim ve uçtan uca testler yerindeyken, son adım her pull request’in bu kontrolleri otomatik olarak çalıştırmasını sağlamaktı. Devin’den yalın bir iş akışı istedim; artefakt yok, kapsama kapıları yok; sadece lint → tip kontrolü → testler.

Devin beklenmedik derecede cilalı bir boru hattını tek seferde teslim etti; ek yönlendirme gerekmedi:

  • Sıfır yapılandırma sapması: Devin mevcut npm betiklerini yeniden kullandı; öğrenilecek yeni araç yok.
  • Her şey paralel: Lint, tip kontrolü ve iki test paketi yan yana çalışır; böylece tüm iş akışı GitHub’ın ücretsiz runner’larında ~4 dakikada biter.
  • Net triyaj: ESLint başarısız olsa ama testler geçse bile özet işi lint hatasını raporlar; “kısmen kırmızı” kod asla birleştirilmez.

Devin iş akışını itti, GitHub’daki kontrolün tamamlanmasını bekledi ve ancak o zaman bittiğine karar verdi. Şunu söylemeliyim: Tam çalışan bir boru hattı için 0.4 ACU, zor geçilir. YAML açıkça Devin’in mutlu alanı.

Bu iş akışı birleştirildiğinde, herkesin yeşil düğmeye basmasından önce her PR’ın lint, derleme ve her iki test paketinden de geçmesi gerekir!

Devin’in Ürün İçi Viki’si

Devin, kodunuzun yanında yaşayabilen yerleşik bir “Viki” ile gelir. Ajanın çalışırken hem okuyabildiği hem de yazabildiği hafif, otomatik oluşturulan bir bilgi tabanıdır. Slack, Jira ve CI bağlandıktan sonra bu Viki, mimari notlar için iyi bir yerdir. Göz atmaya değer!

devin viki

Bildiğim kadarıyla bu manuel olarak düzenlenemiyor ve Viki’yi güncel tutmak için Devin’e güvenmeniz gerekiyor.

Maliyet & Zaman Anlık Görünümü ve Değiniler

Tüm entegrasyonlar, testler ve boru hattı canlı hale geldikten sonra faturayı ve süreyi topladım:

İş parçası

ACU

Uygulamalı süre

Notlar

Slack & Jira bağlantısı

0.0

10 dk

Manuel OAuth tıklamaları; ajan süresi yok.

5 Jira talebi

9.4

2 sa yönlendirme ve inceleme

İki talep iyiydi, biri yönlendirme, tekrarlar ve testler istedi, biri SQLite’a geri dönüşte takıldı.

Jest birim paketi (API)

1.1

5 dk inceleme

Devin’in “20 ACU” korkusu 1 ACU’luk mücevhere dönüştü.

Playwright e2e paketi (web)

2.3

10 dk inceleme

Devin “kodu düzeltme” talimatını görmezden gelip 3 test kırmızı kalana kadar yamadı.

GitHub Actions boru hattı

0.4

3 dk küçük ayar

Tek sayfa YAML; ilk denemede yeşil.

Toplam

13.2 ACU

≈ 2 sa 30 dk

≈ Core fiyat katmanında $30.

Yani talepleri, testleri ve CI’ı itmek için yaklaşık 2 saatlik insan emeği. Benim kendimin yapacağından kesinlikle daha hızlı.

Bu noktada yine de kararsızım. Hâlâ çok sayıda hata var ve tüm kod tabanını kendim yazmış olsaydım muhtemelen sorunları, Devin kredileri yakarken olduğundan daha hızlı düzeltebilirdim. 

Ama uygulamanın çoğunu Devin yazdı; yani ajan aslında yapının benden daha iyi “farkında”. Yine de sabit değerleri dinamik olanlarla değiştirmekte zorlanıyor, her dosyada uçları açık bırakıyor ve yaptığı tüm işlemleri gözetlemem için dizüstümün başında olmam gerekiyor.

Süreci biraz sinir bozucu da buldum; ancak anlayamadığım bir hatayı kovalamakla aynı şekilde değil. Kodun çalışmamasından duyulan hayal kırıklığıyla, bir yapay zekâ ajanının bazı temel talimatları takip edememesinden duyulan hayal kırıklığı arasında (en azından bana göre) dünya kadar fark var. İkincisi düpedüz çileden çıkarıcı.

Bence Devin doğru kullanıldığında çok yardımcı olabilir; ancak diğer tüm yapay zekâ ajanları gibi bir yazılım mühendisi yerine geçemez. Bazı görevlerde kullanmak kabul edilebilir; fakat her talep için kullanmanın çok uygun veya sürdürülebilir olduğunu düşünmüyorum.

Sırada Ne Var?

Slack ve Jira’ya bağlıyız, testler yeşil ve CI kapısı özensiz her PR’ı engelliyor. Ancak gerçek bir üretim lansmanı için hâlâ dört sütun eksik:

  1. Kimlik doğrulama: NextAuth kimlik bilgilerini bağlayın → JWT çerezleri → NestJS’te GqlAuthGuard; böylece ilerleme gerçek kullanıcılara bağlanır.
  2. Güvenlik sertleştirmesi: Hem web hem API çalışma zamanlarında Sentry hata takibi.
  3. Sürekli dağıtım: Her dalda önizleme URL’leri oluşturan ve ana dal yeşile döndüğünde prod’a terfi eden bir Vercel (web) boru hattı.

Gündem bu; Bölüm 4’te, son düzlükte Devin’in neredeyse hiç insan müdahalesi olmadan uygulamayı güvene alıp dağıtabileceğini ve göz kulak olabileceğini göreceğiz. Veritabanınızı tekrar Postgres’e sabitleyin, ACU’ları sınırlayın ve son bölümde görüşmek üzere.

Devam etmeye hazırsanız, dördüncü eğitime gitmek için aşağıdaki listedeki son öğeye tıklayın:

  1. Kurulum ve İlk Pull Request (Bölüm 1)
  2. Devin ile Dikey Bir Dilim Yayınlamak (Bölüm 2) 
  3. Entegrasyonlar, Testler ve CI/CD (Bölüm 3) 
  4. Güvenlik, Dağıtım, Bakım (Bölüm 4)

Marie Fayard's photo
Author
Marie Fayard

İlk prototipten ürün-pazar uyumuna ve ötesine kadar erken aşama girişimleri büyütme konusunda uzmanlaşmış, ürün odaklı bir teknik liderim. İnsanların teknolojiyi nasıl kullandığına dair bitmeyen bir merakım var ve kurucularla ile disiplinler arası ekiplerle yakın çalışarak cesur fikirleri hayata geçirmeyi seviyorum. Ürün inşa etmediğim zamanlarda ya dünyanın yeni köşelerinde ilham peşinde koşuyor ya da yoga stüdyosunda stres atıyorum.

Konular
Yapay Zekâ Aracıları
Yapay Zeka

Bu kurslarla yapay zekâ ajanları oluşturun:

Kurs

AI Agent'lere Giriş

1 sa 30 dk
142.5K
AI ajanlarının temellerini, bileşenlerini ve gerçek hayattaki kullanımlarını öğrenin — kodlama gerekmez.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör