Перейти к содержанию

Otomasyon Kuralları: Örnek 4

İş akışı: Yeniden işleme döngüsü oluşturma

Bir görev tamamlanamazsa, önceki görevlerin durumu 'Atanmış'a güncellenmez ve iş akışı durumu ‘Süreç duraklatıldı’ olarak değiştirir. İş akışı yöneticisi yürütmeye devam etme konusunda karar verir. Bazı iş akışları için bu, her zaman önceden tamamlanmış bir görevin yeniden işlenmesi anlamına gelir.

Bu örnekte, sırayla tamamlanması gereken 3 görev bulunmaktadır:

  • Yeni bir sürüm geliştirmek
    • Yeni sürümü teste aktarmak için
      • Yeni sürümü test edin

Üçüncü görev başarısız olursa, iş akışı yöneticisi otomasyon kuralının ilk görevin durumunu ‘Atanmış’ ve diğer ikisini ‘Kayıtlı’ olarak ayarlamasını planlayarak iş akışının ilk göreve geri dönmesini sağlar.

İş akışı yöneticisinin böyle bir otomasyon kuralının temel unsurlarını nasıl tanımlayabileceği aşağıda açıklanmıştır.

Tetikleyici

Kural, üçüncü görevin durumunu ‘Başarısız’ olarak değiştirdikten sonra yerine getirilmesi gerektiğinden, Tetikleyici alanında ‘Durum Güncellendiğinde’ seçeneği seçilir.

İfadeler

Kural için aşağıdaki ifadeler tanımlanır ve bundan sonra kuralın koşulunu ve gerçekleştirdiği eylemleri belirlemek için kullanılır:

1. has_failed

`has_faıled' ifadesi, üçüncü görevin 'Durum' alanının 'Başarısız' olarak ayarlandığını belirtir. Aşağıdaki gibi tanımlanır:

  • status = failed

2. note

Durumu 'Başarısız' olarak değiştirildiğinde üçüncü göreve eklenen yorumu aramak için 'not' ifadesi gereklidir. Bu, görevle ilgili son yorumdur ve başarısızlığın nedenini açıklar. Böyle bir ifade şu şekilde tanımlanır::

  • note[last].text

3. develop_task

'develop_task' ifadesi, yeni bir sürüm geliştirme görevini tanımlamak için kullanılır. Böyle bir görevin konusu sırasıyla ’Yeni bir sürüm geliştirmek' dir, ifade aşağıdaki gibi tanımlanır:

  • workflow.tasks['Yeni sürüm geliştirmek']

4. transfer_task

'develop_task' ifadesi, yeni bir sürümü teste geçirme görevini tanımlamak için kullanılır. Böyle bir görevin konusu, sırasıyla ’Yeni sürümü teste aktarmak' dır, ifade aşağıdaki gibi tanımlanır:

  • workflow.tasks['Yeni sürümü teste aktarmak']

Koşul

İfadeleri belirledikten sonra, kurala bu kuralın yerine getirildiği koşullar verilir. Söz konusu örnekte, görevin durumu ‘Başarısız’ olmalıdır. Bunun için zaten bir ifade olduğundan, gerçek koşul aşağıdaki biçime sahiptir:

  • has_failed

Kural koşuluna eklenmesi gereken tek şey bu.

Güncelleme 1

Kuralın gerçekleştirdiği ilk eylem, geliştirme görevine geliştiriciye görevin yeniden açılmasının nedenini söyleyecek bir yorum eklemektir. Bu görev için 'develop_task' ifadesi zaten ayarlanmıştır. Bu ifade "Güncelle" alanında seçilir.

Yorum ekle

İlk eylem geliştirme görevine bir yorum eklediğinden, varsayılan ‘Ayarla’ seçeneğini ‘Yorum Ekle’ olarak değiştirmeniz gerekir. Bunu yaparken, yorumu girmek için bir metin kutusu görünecektir. Başarısız bir görev için bırakılan son yorumu eklemek için, oluşturduğunuz yorumda son yorum için tanımlanan ifadeyi kullanabilirsiniz:

'Yeni sürüm test edilmedi:`

{{note}}

Güncelleme 2

Kural tarafından gerçekleştirilen ikinci eylem, geliştirme görevinin yeniden açılmasıdır. Bunu gerçekleştirmek için "Güncelle" alanında "develop_task" ifadesi ayarlanır.

Sormak

İkinci eylem, geliştirme görevinin durumunu tekrar ‘Atanmış’ olarak değiştirdiğinden, 'Ayarla' alanında aşağıdakiler belirtilir:

  • status = assigned

Güncelleme 3

Kural tarafından gerçekleştirilen üçüncü eylem, teste aktarma görevini güncellemektir. Bunu gerçekleştirmek için "Güncelle" alanında "transfer_task" ifadesi ayarlanır.

Sormak

Üçüncü eylem görevin durumunu ‘Kayıtlı’ olarak değiştirdiğinden, 'Ayarla' alanında aşağıdakiler belirtilir:

  • status = registered

Güncelleme 4

Kural tarafından gerçekleştirilen dördüncü eylem, test görevinin durumunu güncellemektir. Bu, otomasyon kuralının tanımlandığı bir görev olduğundan, Güncelle alanında herhangi bir değer ayarlamanıza gerek yoktur. Varsayılan olarak, geçerli kayıtla (yani test göreviyle) eşleşecektir.

Sormak

Dördüncü eylem, test görevinin durumunu tekrar ‘Kayıtlı' olarak değiştirdiğinden, 'Ayarla' alanında aşağıdakiler belirtilir:

  • status = registered

Güncelleme 5

Kuralın gerçekleştirdiği beşinci eylem, test görevinin başarısız bir şekilde tamamlanmasının ardından ‘İşlem duraklatıldı’ olarak ayarlanan iş akışının durumunu güncellemektir. İş akışını güncellemek için Güncelle alanına 'iş akışı' belirtmeniz yeterlidir.

Sormak

Beşinci eylemin iş akışı durumunu ‘Enjekte etme' değerine döndürmesi için 'Ayarla' alanında aşağıdakiler belirtilir:

  • status = implementation