Aracılığıyla paylaş


Durum, Geçiş veya Nedene Dayalı Alan Atamalarını Otomatikleştirme

Visual Studio Uygulama Yaşam Döngüsü Yönetimi (ALM) uygulamasında başka bir yerde ya da Visual Studio ALM dışında bir yerde oluşan bir olaya göre iş öğelerinin bir durumdan başka bir duruma otomatik olarak geçmesini isteyebilirsiniz.Örneğin, bir hatanın bir durumdan diğerine geçişini, arama izleme aracında gerçekleşenlere göre otomatikleştirmek isteyebilirsiniz.İş öğesi türü modeli ve İş öğesi İzleme API'ı iş öğelerinin diğer sistemler tarafından otomatik geçişini desteklemek üzere genişletildi.

Bir iş öğesi durumunu değiştiren bir kodunuz varsa, ACTION öğesini kullanarak eyleminizi uygun durum geçişi ile ilişkilendirerek bu kodu genelleştirebilirsiniz.Bu iş öğesinin eylem sonrası durumunu elde etmek için eyleminizin değerini [WorkItem.GetNextState] yöntemine geçirebilirsiniz.Sürüm denetimi iade iletişim kutusu bu yöntemi hataları gidermek ve iade ile ilişkili görevleri kapatmak için kullanır.

ACTION öğesi, ACTIONS öğesinin isteğe bağlı bir alt öğesidir.

[!NOT]

Aşağıdaki sayfada tanımlandığı üzere, Genişletilen Team Foundation İş Öğesi İzleme API uygulaması Visual Studio ALM SDK öğesinin bir bölümüdür:

Örneğin, bir araç, kullanıcı değişimi denendikten sonra, iş öğesini otomatik olarak "Çözüldü" durumuna geçirmeye ayarlar.Fakat, bir birleştirme sağlayıcı olarak, iş öğesi tipi sahibinin "Çözülmüş" olarak gözükeceğini belirleyen durumun hangisi olduğunu bilmezsiniz.Yazar, Çözülmüş, Kapanmış, Tamamlanmış, Test için Hazır, Yapılandırmaya Dahil vs. gibi durumları kastediyor olabilir.Bir seçenek, tüm iş öğesi yazarlarının "Çözülmüş" olarak isimlendirilen bir durumu içermelerini gerektirebilir.

Çözüm fazla kısıtlayıcı.Ayrıca, durumların yerelleştirilmesini etkin hale getirmediği için uluslararası bir bakış tarafından yetersiz. Bunun yerine, sistem birleştiricileri, iş öğeleri için otomatik geçişlere sevk eden "İade Et" veya "Tamamlandı" gibi eylemler belirleyebilirler. İş öğesi türü yazarı, daha sonra bu eylemi uygun bir geçiş üzerinde belirleyebilir.

Bu konuda

  • ACTION Öğesi için Sözdizimi

  • Otomasyonu Desteklemek İçin Gerekli Adımlar

  • Bir Eylemi Durum Geçişi ile İlişkilendirme

  • Geçiş Eylemi Ayrıntıları

  • Otomatik Geçiş Hata Denetimi

ACTION Öğesi için Sözdizimi

Aşağıdaki sözdizimi ACTION öğesi için kullanılır.Değer özniteliği eylemin adını ve gerekli eylemi belirtir.Alan başvurusu adlarında olduğu gibi eylemler için de aynı adlandırma kurallarını uygulamanız gerekir.Örneğin, Team Foundation sürüm denetimi iade ile ilişkili iş öğelerine uygun geçişi belirlemek için Microsoft.VSTS.Actions.CheckIn kullanır.Daha fazla bilgi için bkz. İş Öğesi İzleme Nesneleri için Adlandırma Kuralları.

<ACTION value="NameOfAction" />

minOccurs="0"

maxOccurs="unbounded"

Otomasyonu Desteklemek İçin Gerekli Adımlar

İş Öğesi Takibi ile bir aracı birleştirmek için, araç aşağıdaki adımları gerçekleştirmelidir.

  1. Eylem gerçekleştirildiğinde, iş öğesinin hangi durumuna geçiş yapması gerektiğine karar vermek.

  2. İş öğesini "to" durumuna ayarlamak.

    İş Öğesi Takip API'ı bu adımları gerçekleştirmek için yöntemler sağlar. İş Öğesi Takip İzleme API'ı Visual Studio ALM SDK'in bir parçasıdır. Daha fazla bilgi için Microsoft Web sitesindeki şu sayfaya bakın: Team Foundation Server SDK.

    [!NOT]

    Belirli bir geçiş durumu oluşmasına yol açan bir geçiş eylemi, kaydedilmez. Hangi eylemin geçiş yaptığını izlemeniz gerekiyorsa, izlemek için ek bir iş öğesi belirtebilir veya bir Reason değeri tanımlayabilirsiniz.

Başa dön

Bir Eylemi Durum Geçişi ile İlişkilendirme

Durum geçişi eylemlerini, çalışma öğelerinin geçişlerini kendi iş akışının çeşitli noktalarında otomatikleştirmek için kullanabilirsiniz.Örneğin, Team Foundation Server sürüm kontrol sisteminin iade anında çalışma öğelerinin otomatik geçişlerini desteklemesi gerekir.Bunu desteklemek için "microsoft.vsts.actions.checkin" eylemi tanımlanmıştır.

İş öğesi türü yazarı, "Working" (çalışıyor) adlı duruma sahip bir "Defect" (hata) iş öğe türü tanımlayabilir ve geliştirici değişiklik yaparken bu iş öğesini kullanabilir.İş öğesi türü yazarı, geliştiricinin hatadan etkilenen kodu gece oluşturmaları için hazır olarak bildirdiği anlamına gelen "Ready To Build" (oluşturmak için hazır) durumunu da tanımlayabilir.

Yazar otomatik olarak iade işlemi sırasında iş öğesini "Working" (çalışıyor) durumundan "Ready To Build" (oluşturmak için hazır) durumuna aşağıdakini bildirerek geçiş yapabilir:

<TRANSITION from="Working" to="Ready To Build">
   <ACTIONS>
      <ACTION value="microsoft.vsts.actions.checkin"/>
   </ACTIONS>
</TRANSITION>

Başa dön

Geçiş Eylemi Ayrıntıları

İş öğeleri geçişlerini kendi iş akışının çeşitli noktalarında otomatikleştirmek için durum geçiş eylemlerini kullanın.Geçiş eylemleri hakkında aşağıdaki kullanım ayrıntılarını düşünebilirsiniz:

  • Geçiş eylemleri isteğe bağlıdır.İş öğesi örneğinin geçerli durumu belirtilen eylem için bir eylem girdisine sahipse, "to" durumu döner.Aksi durumda, döndürülen değer Null olur.Tümleştirmelerin Null dönüş değerlerini düzgün biçimde işlemesi gerekir.Yani:

    • Başarısız Olmayın.

    • Bulunmayan bir eylem gerektirdiğinden, tümleştirmenin otomatik olmayan geçiş yaptığını gösteren bir iz veya günlük bırakın.

  • Her iş öğesi türü için, eylemlerin Başlangıç Durumu/Eylem çiftleri için benzersiz olması gerekir.Bu, iş öğesi türü yazarları aynı eylem için birden çok "to" durumu belirtemez anlamına gelir.

  • Ancak, aşağıdaki örnekte gösterildiği gibi, aynı geçiş üzerindeki çoklu eylemler, çoklu otomatik geçiş tümleştirmelerine izin vermek için desteklenir.

    <TRANSITION from="Working" to="Ready To Build">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.Checkin"/>
          <ACTION value="ADatum.Actions.Complete"/>
       </ACTIONS>
    </TRANSITION>
    
  • Eylem adları yalnızca İngilizce karakterler kullanabileceğiniz programlama adlarıdır.

  • Eylem adlarının, satıcılar ve müşteriler arasındaki eylem adı çakışmalarının önüne geçmek için, alan başvuru adleri olarak aynı başvuru ad alanı kuralını takip etmesi gerekir.Ancak bu kural, araç tarafından zorlanmaz.Visual Studio ALM, Microsoft.VSTS.Actions.<your action> kullanır.

Başa dön

Otomatik Geçiş Hata Denetimi

Tümleştiriciler otomatik geçişlerin iki türünü deneyebilir.Birincisi kullanıcı eylemi nedeniyle gerçekleşen otomatik geçiştir.İkincisi katılımsız otomasyon ile gerçekleşen bir gecede gerçekleştirilen yapı gibi otomatik geçiştir.

  • Kullanıcı eylem otomatik geçişleri Bu tür otomatik geçişler için, kurallarla ilgili görünen sorunlara tepki vermek için kullanıcı vardır. Çalışma öğesi türünün yazarı tümleştirmenin tanımadığı bir gerekli alan eklediğinde gerçekleşen durumu, desteklediğinizden emin olmalısınız.Bu durumu desteklemek için, otomatik geçiş uygulayın ve sonra kural ihlalleri açısından çalışma öğesi türünü denetleyin.Herhangi bir şey bulursanız, çözmek için kullanıcıya form görüntüleyin.

  • Katılımsız otomasyon otomatik geçişleri Bu sorunları çözmek için kullanıcın olmadığını varsaymalısınız.Bu durumda, tümleştirme düzgün bir şekilde başarısız olmalı.Hata günlüğü otomatik geçişin denendiğini belirtmeli ve hata için bir neden sunmalıdır.

Herhangi bir türde otomatik geçişi tanımlarken, her çalışma öğesinin geçiş sonunda kullanıcı etkileşimi olmadan geçerli duruma ulaşması için, geçiş tanımlayın. Diğer bir deyişle, geçiştirilen durum için tanımlanan tüm kurallar, varsayılanları ya da tüm alanlar için kopyalanan değerleri sağlayarak karşılanır. Geçişten sonra herhangi bir alan geçersiz olursa, durum geçişi başarısız olur.

Alanları geçersiz olmaktan korumak için, aşağıdakileri yapın:

  • Durum geçişi için bir DEFAULTREASON tanımlayın.

  • Durum geçişi sonrasında gerekli olacak alanlar için, DEFAULT veya COPY kural öğelerini kullanarak alan için bir değer belirtin.

Örneğin, bir çalışma öğesinin durumunu "Çalışıyor" dan "Oluşturmak için Hazır"'a geçiren, geçiş eylemi Kullanıma Almayı oluşturmuş olmalısınız."Oluşturmak için Hazır"'a ait çalışma öğesinin kuralları, "Çözüm Bulan" alanının ayarlanmış olmasını gerektirir.TRANSITION bölümündeki "ResolvedBy" için DEFAULT veya COPY kural öğesini tanımlarsınız.Buna ek olarak, gerekli alanın kullanıcı etkileşimi olmadan ayarlanabildiğinden emin olmak için, DEFAULTREASON tanımlayın.

Başa dön

Ayrıca bkz.

Kavramlar

Bir Alan Kuralınını Nerde ve Ne Zaman Uygulanacağı

Diğer Kaynaklar

Associating a State Transition with an Action