Issue, GitHub gibi sürüm kontrol ve proje yönetim platformlarında; bir yazılım projesinde karşılaşılan hataları (bugs), yeni özellik isteklerini (feature requests), iyileştirme önerilerini veya yapılacak işleri (tasks) takip etmek için kullanılan kayıt birimidir. Türkçede “sorun”, “konu” veya “iş” olarak da çevrilebilir.
Issue’un temel özellikleri:
- Başlık ve açıklama: Konunun ne olduğunu ve neden açıldığını açıklayan alanlar.
- Etiketler (labels): Issue’ları türüne, önceliğine veya ilgili konulara göre sınıflandırmak için kullanılır (örn.
bug
,enhancement
,urgent
). - Atama (assignee): İlgili geliştirici veya ekip üyesine görev olarak atanabilir.
- Milestone: Belirli bir sürüm veya hedefle ilişkilendirilerek ne zaman tamamlanacağı planlanabilir.
- Yorumlar (comments): Takım üyeleri veya katkıda bulunanlar issue hakkında tartışabilir, güncelleme yapabilir.
- Durum (açık/kapalı): Issue açıkken üzerinde çalışıldığı, kapalıysa tamamlandığı veya iptal edildiği anlamına gelir.
Ne için kullanılır?
- Yazılımda bulunan bir hatanın bildirilmesi
- Yeni bir özellik isteğinin iletilmesi
- Teknik borçların veya iyileştirme ihtiyaçlarının takibi
- Planlama ve görev paylaşımı
- Geliştirme süreci boyunca ilerlemenin belgelenmesi
Örnek senaryo:
Bir kullanıcı uygulamada bir hata fark eder ve “Kayıt olma formunda ‘email’ alanı çalışmıyor” başlıklı bir issue açar. Bu sorun bir geliştiriciye atanır, etiketlenir ve çözülünce issue kapatılır.
Özetle, issue’lar yazılım projelerinde iletişim, takip, ve düzenli iş akışı sağlamak için temel yapı taşlarından biridir. Hem bireysel hem de takım projelerinde verimli bir çalışma ortamı oluşturur.