Skip to content

GitLab Entegrasyonu

GitLab entegrasyonu, GitLab gruplarınızı ve projelerinizi SetGet'e bağlar. Sorunlar, merge request'ler, yorumlar, etiketler ve durumlar çift yönlü senkronize edilir; GitLab'daki mühendislik iş akışınızı SetGet'teki proje yönetimiyle hizalı tutar.

Yetenekler

ÖzellikAçıklama
Çift yönlü sorun senkronizasyonuGitLab'da oluşturulan sorunlar SetGet'te iş öğesi olarak görünür ve tersi de geçerlidir
Merge request bağlamaBağlamak için bir MR'da SetGet tanımlayıcısına başvurun
Yorum senkronizasyonuGitLab sorunlarındaki yorumlar SetGet iş öğelerine yayılır
Etiket senkronizasyonuEtiketler her iki platformda da tutarlı kalır
Durum eşleştirmeGitLab sorun durumlarını SetGet iş akışı durumlarıyla eşleştirin

Önkoşullar

  • Bağlamak istediğiniz projelere en az Maintainer erişimine sahip bir GitLab hesabı.
  • SetGet çalışma alanınızda Yönetici veya Sahip rolü.
  • GitLab projelerinin arşivlenmemiş olması gerekir.

Kurulum adımları

Adım 1 -- GitLab erişimini yetkilendirin

  1. SetGet'te Ayarlar > Entegrasyonlar'a gidin.
  2. GitLab kartını bulun ve Bağlan'a tıklayın.
  3. SetGet sizi GitLab'ın OAuth yetkilendirme sayfasına yönlendirir.
  4. İstenen izinleri inceleyin ve Yetkilendir'e tıklayın.
  5. SetGet'e geri yönlendirilirsiniz. GitLab kartında yeşil bir "Bağlandı" rozeti görünür.

İPUCU

Kendi yönettiğiniz GitLab örnekleri için, yetkilendirmeden önce entegrasyon ayarlarında GitLab örnek URL'sini yapılandırmanız gerekebilir. İstendiğinde GitLab örnek URL'nizi girin (örneğin, https://gitlab.sirketiniz.com).

  1. Bağlamak istediğiniz SetGet projesini açın.
  2. Proje Ayarları > Entegrasyonlar > GitLab'a gidin.
  3. Depo Bağla'ya tıklayın.
  4. Bir GitLab grubu seçin, ardından belirli proje/depoyu seçin.
  5. Kaydet'e tıklayın.

Aynı SetGet projesine birden fazla GitLab projesi bağlayabilirsiniz.

Adım 3 -- Configure state mapping

GitLab sorunlarının iki durumu vardır: opened ve closed. Bunları SetGet iş akışı durumlarıyla eşleştirin.

GitLab durumuVarsayılan SetGet durumuDeğiştirilebilir
openedBacklogEvet
closedDoneEvet

Özelleştirmek için:

  1. Depo bağlantı ayarlarında Durum Eşleştirme'yi genişletin.
  2. Her GitLab durumu için istenen SetGet durumunu seçin.
  3. Eşleştirmeyi Kaydet'e tıklayın.

Adım 4 -- Configure label sync

Etiket senkronizasyon modları:

ModDavranış
Çift yönlü (varsayılan)Etiketler her iki yönde de senkronize edilir
Yalnızca GitLab'dan SetGet'eEtiketler GitLab'dan içe aktarılır; SetGet değişiklikleri geri itilmez
Yalnızca SetGet'ten GitLab'aEtiketler GitLab'a itilir; GitLab değişiklikleri çekilmez
Devre dışıEtiket senkronizasyonu yok

Modu, depo bağlantı ayarlarında Etiket Senkronizasyonu altında yapılandırın.

Adım 5 -- Enable comment sync

Yorum senkronizasyonu varsayılan olarak etkindir. Konuşmaları ayrı tutmayı tercih ediyorsanız depo bağlantı ayarlarından kapatın.

Çift yönlü sorun senkronizasyonu

Senkronizasyon akışı

Bağlı bir GitLab projesinde yeni bir sorun oluşturulduğunda:

  1. GitLab, SetGet'e bir webhook olayı gönderir.
  2. SetGet, bağlı projede bir iş öğesi oluşturur.
  3. Başlık, açıklama, etiketler ve atanan, GitLab sorunundaki değerlerle doldurulur.
  4. İş öğesi durumu, durum eşleştirmesine göre belirlenir.

SetGet'te yeni bir iş öğesi oluşturulduğunda (GitLab senkronizasyonu etkinken):

  1. SetGet, bağlı GitLab projesinde karşılık gelen bir sorun oluşturur.
  2. Başlık, açıklama ve etiketler, iş öğesindeki değerlerle doldurulur.
  3. Çift yönlü bir bağlantı saklanır.

Senkronize edilen alanlar

AlanGitLab'dan SetGet'eSetGet'ten GitLab'a
BaşlıkEvetEvet
AçıklamaEvetEvet
Durum (opened/closed)Evet (eşleştirme ile)Evet (eşleştirme ile)
EtiketlerEvet (etkinse)Evet (etkinse)
AtananlarEvet (e-postayla eşleştirilir)Evet (e-postayla eşleştirilir)
YorumlarEvet (etkinse)Evet (etkinse)
AğırlıkHayırHayır
Teslim tarihiEvetEvet
Kilometre taşlarıHayırHayır

Atanan eşleştirme

Atananlar e-posta adresiyle eşleştirilir. Bir GitLab kullanıcısının e-postası bir SetGet çalışma alanı üyesinin e-postasıyla eşleşirse, atama otomatik olarak eşlenir. Eşleşmeyen atananlar, iş öğesi etkinlik günlüğünde not edilir.

Merge request bağlama

Bağlantı oluşturmak için bir MR başlığında, açıklamasında veya dal adında bir SetGet iş öğesi tanımlayıcısına başvurun.

Desteklenen formatlar

FormatÖrnek
Proje ön eki + numaraPROJ-123
Tam URLhttps://app.setget.io/workspace/project/work-items/PROJ-123

Bağlandığında:

  • İş öğesinin Bağlantılar bölümü, MR'yi başlığı, durumu ve GitLab'a bağlantısıyla birlikte gösterir.
  • MR'yi birleştirmek isteğe bağlı olarak iş öğesini otomatik geçirebilir.

Birleştirmede otomatik geçiş

  1. Depo bağlantı ayarlarında Birleştirmede otomatik geçiş'i etkinleştirin.
  2. Hedef durumu seçin.
  3. Kaydet'e tıklayın.

Webhook olayları

GitLab entegrasyonu aşağıdaki webhook olaylarını işler:

OlayAmaç
Issue HookSorun oluşturma, güncellemeler, durum değişikliklerini senkronize et
Note HookSorunlardaki yorumları senkronize et
Merge Request HookMR'leri bağla, birleştirmeleri tespit et
Tag Push Hookİsteğe bağlı: sürümleri takip et

SetGet webhook yapılandırmasını otomatik olarak yönetir.

Entegrasyonu yönetme

Senkronizasyon durumunu görüntüleme

Son senkronizasyon zaman damgasını, bağlı öğe sayısını ve son hataları görüntülemek için Proje Ayarları > Entegrasyonlar > GitLab'a gidin.

Senkronizasyonu duraklatma

Olay işlemeyi geçici olarak durdurmak için depo bağlantı ayarlarında Senkronizasyonu Duraklat'ı değiştirin. Duraklatma sırasındaki olaylar geriye dönük olarak senkronize edilmez.

Depo bağlantısını kaldırma

Entegrasyon ayarlarında deponun yanındaki Bağlantıyı Kaldır'a tıklayın. Bu senkronizasyonu durdurur ancak mevcut verileri korur.

GitLab bağlantısını kesme

Ayarlar > Entegrasyonlar > GitLab'a gidin ve OAuth belirtecini iptal etmek ve tüm depo bağlantılarını kaldırmak için Bağlantıyı Kes'e tıklayın.

Sorun giderme

SorunNedenÇözüm
Açılır listede proje görünmüyorYetersiz GitLab izinleriMaintainer erişiminiz olduğundan emin olun
Sorunlar senkronize edilmiyorWebhook yanlış yapılandırılmışBağlantıyı kesip yeniden bağlayın
Atananlar eşleştirilemiyorE-posta uyuşmazlığıPlatformlar arasında e-postaları hizalayın
Kendi yönetilen GitLab bağlanamıyorÖrnek URL belirlenmemişYetkilendirmeden önce GitLab URL'sini girin
MR bağlantıları algılanmıyorYanlış formatMR başlığında veya açıklamasında PROJ-123 kullanın

UYARI

GitLab'ın IP izin listesini kullanıyorsanız, SetGet sunucu IP'sinin webhook olaylarını almasına izin verildiğinden emin olun.

Güvenlik

  • OAuth belirteçleri beklemede şifrelenir ve yalnızca sunucu tarafında saklanır.
  • Webhook yükleri, GitLab'ın gizli belirteç mekanizması kullanılarak doğrulanır.
  • Gerekli minimum kapsamlar: api, read_user.
  • GitLab'daki Kullanıcı Ayarları > Uygulamalar > Yetkilendirilmiş Uygulamalar'dan erişimi iptal edin.

İlgili sayfalar