Jenkins Github Entegrasyonu Nasıl Yapılır? (Generic Webhook Trigger)

Berkehan Bendivar
3 min readDec 24, 2022

Merhabalar, bir önceki yazıda size freestyle bir job nasıl yapılır ona dair bir örnek yapmıştım. Şimdiyse github üzerindeki projemize bir değişiklik olduğu zaman Jenkins üzerindeki Job’ımıza bunu tetikletmeyi anlatacağım.

Webhook nedir?

Bir web uygulaması veya servisinin bir diğer uygulama veya servise bilgi göndermesini sağlayan bir yöntemdir. Webhook, bir uygulamanın bir olay gerçekleştiğinde belirli bir URL’ye veri göndermesini sağlar. Bu URL, olayın gerçekleştiği uygulamanın bir diğer uygulama veya servisinin sunucusuna aittir ve bu diğer uygulama veya servis, webhook çağrısını aldıktan sonra belirli bir işlem yapar.

Peki Jenkins Üzerinde Etkisi Nedir?

Bildiğiniz üzere Jenkins aslında süreçleri otomatize etmemize yarayan bir yardımcı araç. Buna ek olarak github, gitlab, bitbucket gibi platformlardan Repository’mize gelen Pull Request taleplerinin Merge işlemlerinden sonra Jenkins’e giriş yapmadan sessiz bir şekilde Job’ı tetiklememize yarıyor.

Generic Webhook Trigger Kurulumu

Jenkins Dashboard üzerinde Manage Jenkins-> Manage Plugins-> Available Plugins sayfasına girelim.

“Generic Webhook Trigger” yazıp ekranda çıkan Plugin’i seçip install without restart diyelim. Bu adımdan sonra Github’daki repository’mize gidelim.

Settings’in altında bulunan Webhooks sayfasına gittiğimiz zaman karşımıza yukarıdaki resimdeki gibi bir sayfa geliyor. Bu sayfada henüz webhooks oluşturmadığımız için bir sonuç alamıyoruz. Burada yapmamız gereken şey Add webhook butonuna basmamız.

Payload URL kısmında bulunan localhost:8080 kısmına kendi jenkins adresinizi yazmanız gerekiyor. Token kısmını ise job üzerinden ayarlayacağız. Ben şimdilik 1234 olarak ayarladım. Siz istediğiniz gibi ayarlayabilirsiniz.

Not: Bu işlemi resimde gördüğünüz gibi localhost üzerinden yapmayı denemeyin çalışmıyor. Dışarıya açık live bir adres gerekiyor.

Yeni bir job oluşturalım ve Source Code Management kısmında bulunan git kısmındaki Repository URL kısmına repo adresimizi yazalım.

Build Triggers sekmesinin altında bulunan Generic Webhook Trigger kısmının tikini açalım ve aşağıdaki alanları dolduralım.

Burada token kısmına github üzerindeki gibi 1234 yazalım. Cause kısmına ise repository üzerindeki default branch olan master branchinin adını yazalım ve Job’ımızı save butonu ile kaydedelim.

Bu işlemden sonra save dediğimizde entegrasyonumuz başarıyla tamamlanmış oluyor. Bu işlemlerin özeti olarak şunu belirtebilirim. Github üzerindeki projemize yapılan her push işleminde Jenkins üzerindeki tetiklenecektir.

Sürçülisan ettiysem affola,
İyi kodlamalar.

--

--