4 Mayıs 2015 Pazartesi

Team Foundation Server ile İş Öğesi Sorguları (Work Item Query)

     Sorgular (query) gözden geçirmek, güncellemek, rapor oluşturmak gibi işlemler için bulmak istediğiniz iş öğelerinizi bulmanıza yardımcı olur. İş öğelerini bulmak için search box'ı da kullanabilirsiniz ama iş öğelerinin düz listesini, hiyerarşik listesini veya bağımlılıkları gösteren listesini istiyorsanız filtre ölçütünü ayarlamak için sorgu düzenleyici (query editor) kullanmanız gerekmektedir. Sorguları Web Access ve Team Explorer üzerinden oluşturabilirsiniz. Ayrıca toplu değişiklikleri uygulamak için Excel veya Project içinde bir sorgu açabilirsiniz.
   
     1. İş Öğelerini Bulmak için Search Box Kullanma 
     Şekil 1'de görüldüğü gibi Team Explorer üzerindeki search box ile iş öğelerini bulmak mümkün. İster iş öğesinin ID yada adını girerek ister yandaki menüsü sayesinde filtre uygulayarak istenilen iş öğeleri bulunabilir.

Şekil 1: Search Box
     Filtre kısmındaki kısayolların örnekleri;
  • A = Assigned To (Örneğin, bana atanmış işler için A:@me) 
  • C = Created By (Örneğin, Ali tarafından oluşturulmuş iş öğeleri için C:Ali)
  • S = State (Örneğin, durumu yeni olarak belirtilmiş iş öğeleri için S=New)
  • T = Work Item Type (Örneğin, task tipinde olan iş öğelerini bulmak için T=Task) [1]

     Filtre için eşittir (= , tam eşleşme gerektirir.), içerir (: , bir kısmının eşleşmesi yeterlidir.), değildir (- , sadece alan isimlerinde kullanılır, belirtilen text dışındakiler için geçerlidir.)  operatörlerini de kullanabiliriz. Örnek vermek gerekirse;

Ali'ye atanan ve aktif olmayan iş öğeleri                                         >>>>>   A:Ali -S=Active
Activity alanı Development olmayan iş öğeleri                               >>>>>   -Activity = Development
Bug tipinde aktif olan ve başlığında new geçmeyen iş öğeleri     >>>>>   S=Active T=bug -Title:new

     2. Düz Liste Sorgusunu Açma ve Düzenleme
     Sorgu tanımlamanın en kolay yolu her süreç şablonu için önceden tasarlanmış olan sorgularla (shared query) başlamaktır. Şekiller ile göstereceğim örnekte Agile süreç şablonu tarafından sağlanan Active Bugs shared query'yi değiştirerek tüm kapalı hataların nasıl bulunacağını anlatacağım. Şekilleri Web Access üzerinden göstereceğim fakat Team Explorer üzerinde Work Items menüsünden de aynı adımlarla yapabilirsiniz.

     İlk olarak şekil 2'de adım adım gösterildiği yerden shared query açılır. Örnek olarak Active Bugs seçiyorum.
   
Şekil 2: Shared Query
     Burada state kısmı default olarak Active gelmektedir. Ben kapalı olanları bulmak istediğim için Closed olarak düzenliyorum ve istediğim düzenlemeleri yaptıktan sonra  5. adım ile gösterilen yerden sorgumuzu çalıştırıyoruz.   ile gösterilen yerden yeni bir filtre ekleyebiliyoruz ve Delete clause ile gösterilen yerden istenilen filtreyi silebiliyoruz.

     Düzenlediğimiz sorguyu kaydetmek için şekil 3'te gösterildiği gibi farklı kaydet butonundan istenilen kayıt seçilerek kaydediyoruz. Ben My Queries klasörüne kaydediyorum. 
     
Şekil 3: Shared Query Kaydetme 
     Kayıt işlemini tamamladıktan sonra sorgumuzu My Queries klasörü altında görebiliriz. Sorguyu Shared Queries klasörü altına kaydedebilmek için takım yöneticisi, proje yönetici grubu üyesi ya da katkıda bulunma izinlerinizin klasörde izin ver olarak ayarlanmış olması gerekmektedir. 

     3. Sorgu Oluşturma
     Şekil 4'te gösterilen Web Access üzerindeki yeni menüsünden ya da Team Explorer üzerindeki New Query linkinden istediğiniz filtreleri kullanarak sorgu oluşturabilirsiniz. Sorgular My Queries klasörü altına kaydedilir.

Şekil 4: Yeni Sorgu
     4. Sorgularda İzinleri Ayarlama
     TFS'de çoğu nesnede olduğu gibi shared query'leri düzenlemeye veya oluşturmaya kimlerin erişebileceğini kontrol edebilirsiniz. Default olarak sadece proje yönetici grubunun üyesi olanların yetkisi bulunmaktadır. Her kullanıcı kendine ait sorguları oluşturup düzenleyebilir ve kendi My Queries klasörü altına kaydedebilir. 
     
     İzinleri Web Access, Team Explorer ( Visual Studio 2013.2 Update gereklidir) üzerinden ayarlayabilirsiniz. Eğer Eclipse üzerinde Team Explorer kullanıyorsanız izinleri buradan değil Web Access ile yapmanız gerekmektedir. Default olarak sadece proje yönetici grubunun üyesi olanlar izinleri düzenleyebilirler. 
     İzinleri bir örnek ile göstermek gerekirse, şekil 5 'te gösterildiği gibi Shared Queries linkine sağ tıklayarak yeni bir klasör oluşturup buraya olan izinleri ayarlayacağız. 

Şekil 5: Yeni Sorgu Klasörü
     Kaydettikten sonra oluşturduğunuz klasör Shared Queries altında görülmektedir. İzinleri ayarlamak için bu klasöre sağ tıklayıp Güvenlik seçeneği ile şekil 6'daki pencereyi açıyoruz. 

Şekil 6: İzin Penceresi [2]
      Add menüsü ile yeni bir kimlik ya da TFS grubu ekleyerek bunların da izinlerini ayarlayabilirsiniz. 
     Contribute, takım üyelerine belirtilen klasördeki sorguları düzenleme ve oluşturma yetkisi vermektedir. Manage Permission, belirtilen klasördeki sorgu ve alt klasör yönetimi için yetki vermektedir. 

     5. Hiyerarşik Listeyi Görüntülemek için Tree Query ( Ağaç Sorgusu) Kullanımı
     Çok katmanlı, iç içe geçmiş çalışma öğelerinin listesini görüntülemek için sorgu düzenleyicideki  tree query ( Çalışma Öğeleri Ağacı) kullanabilirsiniz. Şekil 7'deki tüm biriktirme listesi öğelerini ve bunların bağlı görevlerini görüntüleyen bir örnek görülmektedir. Burada ağacın farklı kısımlarını incelemek için genişletip () , daraltabilirsiniz ().

Şekil 7: Bir Tree Query Sorgu Sonucu [1]
     Alt ve üst (parent, child) iş öğeleri için filtre kriterleri tanımlayabilirsiniz. Şekil 8'de sorgu düzenleme ekranında görüntülenen bu filtre seçenekleri görülmektedir.

Şekil 8: Çalışma Öğeleri Ağacı
     Bağlı alt öğeleri bulmak için, Match top-level work items first (Önce üst düzey çalışma öğelerini eşleştir) seçebilirsiniz. Bağlı üst öğeleri bulmak için Match linked work items first (Önce bağlantılı çalışma öğelerini eşleştir) seçebilirsiniz. 

     6. Bağımlılıkları Görüntülemek için Doğrudan Bağlantı Sorgusu ( Direct Link Query) Kullanımı
     Task, bug, issue ya da feature gibi diğer iş öğelerine bağlı iş öğelerini izlemek için doğrudan bağlantı sorgusu ( Direct Link Query) kullanabilirsiniz. Şekil 9'da düzeltilmekte olan hataya göre ya da diğer öğelere uygulanmakta olan biriktirme listesi öğelerini görüntüleyen bir örnek görülmektedir.

Direct links query results
Şekil 9: Doğrudan Bağlantı Sorgu Sonucu
     Diğer ekiplerin üzerinde çalıştığı ekibinize ait bağımlılıkları izlemek ya da ekibinizin diğer ekiplere verdiği taahhütleri yönetmek için doğrudan bağlantı sorgusunu kullanabilirsiniz. Şekil 10'da görüldüğü gibi sorgu düzenleme penceresinden hem üst hem de bağlı iş öğeleri için filtreleme kriteri belirtebilir ve bağımlılıkları filtrelemek için kullanılan bağlantı türlerini seçebilirsiniz. 
Şekil 10: Doğrudan Bağlantı Sorgusu
     İş öğelerinin ilk katman listesini aşağıdaki seçeneklerden birini seçerek filtreleyebilirsiniz:
  • Only return work items that have the specified links (Yalnızca belirtilen bağlantıları olan iş öğelerini döndürün): Yalnızca, bağlı iş öğeleri filtreleme ölçütleri tarafından belirtilen iş öğelerine bağlantılara sahip olan ilk katman iş öğeleri döndürülür.
  • Return all top level work items (Bütün tepe seviye iş öğelerini döndürün): Bütün birinci katman iş öğeleri, bağlı iş öğeleri filtreleme ölçütlerine bakılmaksızın, döndürülür. İlk katmana bağlanan ikinci katman iş öğeleri, bağlı iş öğeleri filtreleme ölçütleri ile eşleşirlerse döndürülürler.
  • Only return work items that do not have the specified links (Yalnızca belirtilen bağlantıları olmayan dönen iş öğeleri): Yalnızca, bağlı iş öğeleri filtreleme ölçütleri tarafından belirtilen iş öğelerine bağlantılara sahip olmayan ilk katman iş öğeleri döndürülür. [1]
     7. Check-in'leri İş Öğeleri ile İlişkilendirme
     Kod tabanınızdaki dosyaları değiştirdiğinizde, bunu genellikle bir görevi tamamlamak, hata ayıklamak veya bir iş öğesi talebini karşılamak için yaparsınız. Değişiklikleri check-in yaptığınızda, check-in yaptığınız değişikliklerle iş öğelerini ilişkilendirmeniz gerekir. Bu sayede:
  • Çalışma öğesine bakan bir takım üyesi yaptığınız işi görmek için değişiklik kümesine doğrudan bağlanabilir.
  • Değiştirdiğiniz dosyanın geçmişini gözden geçiren bir takım üyesi değişiklik kümesini görüntüleyebilir ve değişiklik için gerekçe olan iş öğelerini görebilir.
  • Yaptığınız değişiklikleri otomatik build sisteminizde build ediyorsanız, ekip üyeleriniz hangi tamamlanmış build içerisinde görevin tamamlandığını veya hatanın giderildiğini görüntüleyebilir.
      İş öğelerini check-in'lerinizde ilişkilendirmek için iki seçenek mevcut. İster iş öğesinin ID'si ile ister kayıtlı sorgularınız üzerinden ilişkilendirebilirsiniz. 
     ID ile yapmak için check-in yapmadan önce Team Explorer'da şekil 11'de görüldüğü gibi "Related Work Items" kısmında "Add Work Item by ID" seçilerek, ilgili iş öğesinin ID'si girilerek eklenir. 

Şekil 11: Add Work Item by ID

     Sorgu ile yapmak için yine check-in yapmadan önce Team Explorer'da şekil 12'de görüldüğü gibi "Queries" kısmında My Queries klasörü altındaki iş öğeleriniz listelenir. İlgili iş öğesinin bulunduğu sorgu seçilir ve açılan sonuç sayfasında ilgili iş öğesini sürükleyip Team Explorer'da "Related Work Items" kısmına bırakılır. 

Şekil 12: Query Listesi
     Her iş öğesinin yanında, check-in işleminizle ilgisinin nasıl olacağını belirtmeniz gerekmektedir. İlişkilendir (Associate) veya Çözümle (Resolve) (yalnızca iş öğesi bu ilişkiyi engelleyen çözümlendi, tamamlandı, kapatıldı gibi durumlarda değilse kullanılabilir) seçeneklerinden uygun olan seçilierek check-in yapılır.



     Bu haftalık yazımı burada bitiriyorum. Haftaya Team Foundation Build konusundan bahsedeceğim.
Okuduğunuz için teşekkürler...







Referanslar:
[2] Set Permissions on Queries, https://msdn.microsoft.com/tr-tr/library/dd286628.aspx, 28.04.2015



1 yorum:

  1. JTVB | Casino - JamBase
    JTVB 오산 출장안마 at Jumbo Casino 안성 출장샵 offers the latest games like Blackjack, Three Card Poker 인천광역 출장마사지 and Poker. Join now 부산광역 출장안마 for great rewards, 성남 출장샵 exclusive promotions, and more!

    YanıtlaSil