Bu özellikle iş ekranındaki Bitbucket kutusundan pull request'leri (PR) görebilir, kodunu analiz ettirebilir, Merge ya da Decline edebilirsiniz. Tüm işlemler kendi Bitbucket hesabınızla ve kendi yetkinizle yapılır.
1. Bitbucket'ta yapılacak ayarlar
a) OAuth consumer oluşturun (workspace başına bir kez, workspace yöneticisi yapar)
- Bitbucket'ta Workspace settings > OAuth consumers > Add consumer ekranını açın.
- Name: Workcube
- Callback URL: https://workcube-adresiniz/WEX/bitbucket/oauth/callback.cfm
- This is a private consumer seçeneğini işaretlemeyin.
- İzinler: Account: Email, Read — Repositories: Read, Write — Pull requests: Read, Write
- Kaydedin. Oluşan Key ve Secret değerlerini not alın; Workcube ayarlarında kullanılacak.
b) Her repo için webhook ekleyin (repo yöneticisi yapar)
- Repoda Repository settings > Webhooks > Add webhook ekranını açın.
- Title: Workcube
- URL: Workcube'deki Bitbucket Repoları bölümünde görünen Webhook Adresi.
- Secret: Workcube'de bu repo için yazdığınız webhook secret ile aynı değer.
- Triggers: "Choose from a full list of triggers" seçip Pull Request altında Created, Updated, Approved, Approval removed, Merged, Declined seçeneklerini işaretleyin.
- Kaydedin.
c) Önerilen: Korunan branch'ler (ör. master) için Repository settings > Branch restrictions ekranında onay sayısı gibi kurallar tanımlayın. Merge sırasında bu kurallar Bitbucket tarafından uygulanır.
2. Workcube'de yapılacak ayarlar
a) Sistem parametreleri (sistem yöneticisi yapar)
- Ayarlar > Sistem Parametreleri ekranında Bitbucket bölümüne OAuth consumer'ın Key ve Secret değerlerini girip kaydedin.
- Aynı ekrandaki Bitbucket Repoları bölümünde her repo için:
- Repo: workspace/repo_adı biçiminde yazın (ör. workcube/devcatalyst).
- Webhook secret: tahmin edilemeyecek bir değer yazın; Bitbucket webhook'una da aynısını girin.
- Aktif seçeneğini işaretleyip kaydedin.
- Webhook Adresi alanındaki adresi kopyalayıp Bitbucket webhook'unda kullanın.
Not: Webhook Adresi alanı boşsa, Geliştirici > WEX ekranındaki Bitbucket kaydında bir yetki (token) oluşturulmalıdır. IP ve alan adı alanları boş bırakılır.
b) İş ekranı ayarı
İşler sayfasının ayarlarında "Bitbucket İle İlişkilendirilsin Mi?" seçeneği Evet olmalıdır (varsayılan Evet).
c) Bitbucket hesabınızı bağlayın (her kullanıcı kendisi yapar)
- Gündem > Bağlı Hesaplar ekranında ya da iş ekranındaki Bitbucket kutusunda Bitbucket hesabını bağla butonuna tıklayın.
- Açılan Bitbucket penceresinde izin verin.
- Bağlanan hesabınız adınız ve e-postanızla görünür.
Oturumunuz kapandığında bağlantıyı yeniden yapmanız gerekir.
3. Nasıl kullanılır?
PR'ı işe bağlama
PR başlığına ya da açıklamasına iş numarasını # ile yazın. Örnek: #654864-feature-müşteri listesi. PR, işin Bitbucket kutusunda görünür. Başlıkta iş numarası yoksa başlığı Bitbucket'ta düzenlemeniz yeterlidir.
PR penceresini açma
İş ekranındaki Bitbucket kutusunda açık PR'ın OPEN etiketine tıklayın. Aşağıdaki pencere açılır.
Pencerede yukarıdan aşağıya şunlar yer alır:
- PR bilgisi: başlık (tıklayınca PR Bitbucket'ta açılır), kaynak ve hedef branch, durum (OPEN), repo ve PR'ı açan kişi.
- Kod analizi: son analizin tarihi. WAI incelemesi yapıldıysa yanında WAI ✓ görünür.
- Filtreler:Hata / Uyarı / Bilgi ile önem derecesine, Kural / WAI ile kaynağa göre süzebilirsiniz. Parantez içindeki sayılar bulgu adetidir.
- Bulgular: dosyaya göre gruplanır. Her satırda önem simgesi, satır numarası, kural kodu, kategori ve açıklama bulunur. WAI etiketli satırlar yapay zekâ incelemesinden gelir, etiketsiz olanlar kural motorundandır.
- Satır numarası: tıklayınca ilgili satır Bitbucket'ta açılır.
- Yorum simgesi: tıklayınca bulgu PR'a sizin adınızla satır yorumu olarak yazılır. Yorumu gönderilmiş bulguda simge yeşil görünür.
Bitbucket hesabınız bağlıysa ve repoda yazma yetkiniz varsa pencerede ayrıca Analiz et, WAI incelemesi butonları ile altta sabit Merge ve Decline butonları görünür. Hesabınız bağlı değilse görüntüdeki gibi "Merge ve Decline için Bitbucket hesabınızı bağlayın" yazısı çıkar.
Kod analizi
- Analiz et: PR'daki yeni ve değişen satırları kurallara göre tarar. Yalnız PR'da eklenen kod incelenir; eski koda bulgu yazılmaz.
- WAI incelemesi: Kodu yapay zekâ ile inceler. Kural motorunun yakalayamadığı durumları (okunabilirlik, birden çok satıra yayılan güvenlik sorunları) bulur. Tekrar basarak yeniden inceletebilirsiniz.
- PR'a yeni commit gelirse "sonuç güncel değil" uyarısı çıkar; Yeniden analiz et ile güncelleyin.
Merge ve Decline
- Merge: Onay penceresinde kural ve WAI bulgu sayıları gösterilir; kararı siz verirsiniz. Bitbucket'taki branch kuralları (ör. onay sayısı) sağlanmamışsa nedeni pencerede gösterilir.
- Decline: İsterseniz Red notu alanına açıklama yazın; not PR'a yorum olarak eklenir.
4. Analiz neleri kontrol eder?
Kategori | Kontrol edilenler |
|---|---|
Güvenlik |
|
PostgreSQL | Yalnız MSSQL'de çalışan yazımlar: TOP, ISNULL, GETDATE, NOLOCK, köşeli parantezli adlar gibi. |
Sözlük | Sözlüğe bağlanmamış (ID'si 0) ya da sözlükte bulunmayan metinler. |
Duxi | Ham form alanı ve tablo kullanımı, eksik ad, düz metin etiket, uygunsuz veri tipi gibi ekran standartları. |
WRO | Dosya adı biçimi, gelecek tarihli dosya adı, eksik başlık bilgisi. |
WAI |
|
Bulgu seviyeleri: Hata merge edilmeden düzeltilmesi gerekenler, Uyarı standarda aykırı olanlar, Bilgi gözden geçirilmesi önerilenlerdir. Bulgular karar vermenize yardımcı olur; merge'ü engellemez.
5. Sık karşılaşılan durumlar
Durum | Çözüm |
|---|---|
PR kutuda görünmüyor | PR başlığına ya da açıklamasına iş numarasını #64 biçiminde ekleyin. |
Bağlan butonu görünmüyor | Sistem parametrelerinde Bitbucket Key ve Secret girilmemiş. |
Merge / Decline butonları görünmüyor | Hesabınızı bağlayın. Bağlıysanız repoda yazma yetkiniz olmayabilir ya da PR açık değildir. |
"not connected" uyarısı | Oturumunuz yenilenmiş; Bitbucket hesabınızı yeniden bağlayın. |
Merge onay hatası veriyor | Bitbucket'taki branch kuralı (ör. onay sayısı) sağlanmamış; PR'ı onaylatıp tekrar deneyin. |
"AI Token" uyarısı | WAI kullanım hakkı bitmiş; AI Token alın ya da şirket bilgilerine Gemini anahtarı tanımlayın. |
Feedback
Shall we talk about Workcube?
Call duration has expired.