Skip to content

Uyarı Tetikleyicileri

Tetikleyiciler, SetGet uyarı sisteminin temel mekanizmasıdır. Bir tetikleyici, hangi olayın bildirim oluşturacağını, biçimlendirme için hangi şablonun kullanılacağını ve bildirimi kimin alacağını tanımlar. Belirtilen olay gerçekleştiğinde ve yapılandırılan koşullar sağlandığında, sistem her alıcının tercihlerinde etkinleştirilen kanallar aracılığıyla bildirimleri gönderir.

Tetikleyiciler nasıl çalışır

Tetikleyici değerlendirme akışı:

  1. Bir kullanıcı veya sistem eylemi bir iş öğesini değiştirir (örneğin durumu değiştirir, yorum ekler, önceliği günceller).
  2. Backend NotificationDispatcher ilgili olayı tetikler.
  3. Uyarı sistemi, olay türüyle eşleşen tüm aktif tetikleyicileri değerlendirir.
  4. Eşleşen her tetikleyici için, koşullar iş öğesinin mevcut özelliklerine göre kontrol edilir.
  5. Koşullar sağlanırsa, sistem alıcı listesini çözümler.
  6. Her alıcı için, sistem hangi kanalların etkin olduğunu belirlemek üzere bildirim tercihlerini kontrol eder.
  7. Bildirimler, yapılandırılan şablon kullanılarak etkinleştirilen kanallar (uygulama içi, e-posta, SMS) aracılığıyla gönderilir.

Olay türleri referansı

SetGet, tetikleyici kaynakları olarak kullanılabilecek 16 olay türünü destekler. Her olay türü, bir iş öğesi veya ilişkili varlıkları üzerindeki belirli bir eyleme karşılık gelir.

Olay türüNe zaman tetiklenirTipik kullanım senaryosu
state_changedBir iş öğesinin durumu güncellenir (örneğin "Yapılacak" iken "Devam Ediyor" olur)Atanan kişileri ve izleyicileri iş akışı ilerlemesi hakkında bilgilendir
assignee_changedBir iş öğesi farklı bir kullanıcıya atanır veya ataması kaldırılırYeni atanan kişiyi yeni sorumlulukları hakkında uyar
priority_changedBir iş öğesinin öncelik düzeyi değiştirilirÖncelik Acil veya Yüksek'e yükseldiğinde farkındalığın artırılması
comment_addedBir iş öğesine yeni yorum eklenirAboneleri tartışma etkinliği hakkında bilgilendir
issue_createdProjede yeni bir iş öğesi oluşturulurProje liderlerini gelen iş hakkında bilgilendir
due_date_passedBir iş öğesinin son tarihi tamamlanmadan geçmiştirAtanan kişileri ve yöneticileri geciken öğeler hakkında uyar
label_changedBir iş öğesine etiketler eklenir veya kaldırılırEtiket sahiplerini alanları etkilendiğinde bilgilendir
property_changedBir iş öğesindeki herhangi bir izlenen özellik değiştirilirBelirli olaylar tarafından karşılanmayan özellik güncellemeleri için genel yakalayıcı
issue_completedBir iş öğesi tamamlanmış duruma geçerPaydaşları teslimatların hazır olduğu konusunda bilgilendir
mentionedBir kullanıcı yorum veya açıklamada @bahsedilirBahsedilen kullanıcıya hedefli bildirim gönder
date_changedBir iş öğesinin başlangıç tarihi veya son tarihi değiştirilirTakvimler kaydığında planlamacıları uyar
cycle_changedBir iş öğesi bir döngüye eklenir veya döngüden çıkarılırDöngü liderlerini kapsam değişiklikleri hakkında bilgilendir
module_changedBir iş öğesi bir modüle eklenir veya modülden çıkarılırModül sahiplerini kapsam değişiklikleri hakkında bilgilendir
link_changedBir iş öğesine bağlantı eklenir veya kaldırılırİşbirlikçilarını yeni dış referanslar hakkında bilgilendir
relation_changedBir ilişki (engelliyor, engelleniyor, ilişkili) eklenir veya kaldırılırBağımlı takımları ilişki değişiklikleri hakkında uyar
archive_changedBir iş öğesi arşivlenir veya arşivden çıkarılırÖğeler aktif görünümden çıkarıldığında veya geri yüklendiğinde takımı bilgilendir

İPUCU

property_changed olayı geniş kapsamlı bir genel yakalayıcıdır. İlgilendiğiniz özellik için daha spesifik bir olay türü varsa (örneğin öncelik için priority_changed), daha temiz tetikleyici mantığı için spesifik olay türünü kullanın.

Olay kategorileri

16 olay türü dört mantıksal kategoriye ayrılır:

Temel yaşam döngüsü olayları

Bu olaylar, bir iş öğesinin oluşturulmadan tamamlanma ve arşivlemeye kadar olan temel yaşam döngüsünü izler.

OlayKategori
issue_createdOluşturma
state_changedİş akışı ilerlemesi
issue_completedTamamlanma
archive_changedArşivleme

Özellik değişikliği olayları

Bu olaylar, bir iş öğesindeki belirli özellikler değiştirildiğinde tetiklenir.

OlayÖzellik
assignee_changedAtanan
priority_changedÖncelik
label_changedEtiketler
date_changedBaşlangıç tarihi veya son tarih
property_changedDiğer izlenen özellikler

İşbirliği olayları

Bu olaylar, iş öğelerindeki insan etkileşimiyle ilgilidir.

OlayEtkileşim
comment_addedYeni yorum eklendi
mentionedKullanıcı @bahsedildi

İlişki olayları

Bu olaylar, bir iş öğesinin diğer varlıklarla ilişkilerinin değişmesi durumunda tetiklenir.

Olayİlişki
cycle_changedDöngü üyeliği
module_changedModül üyeliği
link_changedDış bağlantılar
relation_changedİş öğesi ilişkileri (engelliyor, ilişkili vb.)

Zaman tabanlı olaylar

OlayKoşul
due_date_passedSon tarih geçmiştir (arka plan zamanlaması ile değerlendirilir)

UYARI

due_date_passed olayı, bir kullanıcı eylemi tarafından değil, arka plan zamanlayıcısı tarafından değerlendirilir. Son tarih geçtiğinde bir kez tetiklenir. Tekrarlayan hatırlatıcılara ihtiyacınız varsa, farklı koşullarla birden fazla tetikleyici oluşturun veya otomasyon sistemini kullanın.

Tetikleyici oluşturma

Adım 1: Tetikleyicilere gidin

  1. Çalışma alanınızı açın.
  2. Ayarlar > Hatırlatıcılar > Tetikleyiciler bölümüne gidin.
  3. Tetikleyici Oluştur düğmesine tıklayın.

Adım 2: Olay türünü seçin

Açılır listeden 16 olay türünden birini seçin. Bu, tetikleyicinin hangi eylemlerde tetikleneceğini belirler.

Bildirim ihtiyacınızla en iyi eşleşen olayı değerlendirin. Örneğin, bir iş öğesinin engelleyici olarak işaretlendiğinde bildirim gönderilmesini istiyorsanız, genel property_changed olayı yerine "Acil" öncelik düzeyi için filtreleyen bir koşulla birlikte priority_changed kullanın.

Adım 3: Bir şablon seçin

Bildirimi biçimlendirmek için kullanılacak e-posta şablonunu seçin. SetGet, kategorilere göre düzenlenmiş 21 sistem şablonu sunar. Şablon, bildirimde kullanılan konu satırı, gövde yapısı ve değişken yer tutucularını belirler.

Her olay türünün doğal bir şablon eşleşmesi vardır:

Olay türüÖnerilen şablon
state_changedDurum Değişikliği
assignee_changedAtama
priority_changedÖncelik Uyarısı
comment_addedYorum Eklendi
issue_createdİş Öğesi Oluşturuldu
due_date_passedSon Tarih Geçti
label_changedEtiket Değişti
issue_completedİş Öğesi Tamamlandı
mentionedBahsetme
date_changedTarih Değişti
cycle_changedDöngüye İş Öğesi Eklendi
module_changedModüle İş Öğesi Eklendi
link_changedBağlantı Güncellendi
relation_changedİlişki Değişti
archive_changedİş Öğesi Arşivlendi
property_changedÖzellik Değişikliği

Tam şablon kataloğu ve değişken referansı için Şablonlar sayfasına bakın.

Adım 4: Alıcıları seçin

Bu tetikleyici tetiklendiğinde kimin bildirim alacağını tanımlayın. Birden fazla alıcı türünü birleştirebilirsiniz.

Alıcı türüAçıklama
Atananlarİş öğesinin mevcut atanan kişi(ler)i
Oluşturucuİş öğesini ilk oluşturan kullanıcı
Abonelerİş öğesine abone olan tüm kullanıcılar
Belirli kullanıcılarAda göre seçilen bir veya daha fazla çalışma alanı üyesi

Alıcı çözümleme kuralları:

  • Bir kullanıcı birden fazla alıcı türünde görünüyorsa (örneğin hem atanan hem de abone ise), kanal başına yalnızca bir bildirim alır.
  • Olayı tetikleyen aktör varsayılan olarak bildirimlerden hariç tutulur. Örneğin, bir kullanıcı kendi iş öğesinin durumunu değiştirirse, durum değişikliği bildirimi almaz.
  • Belirli kullanıcılar, abonelik durumlarına bakılmaksızın her zaman bildirimi alır.

Adım 5: Koşulları belirleyin (isteğe bağlı)

Koşullar, tetikleyicinin kapsamını daraltarak yalnızca belirli kriterlere uyan iş öğeleri için tetiklenmesini sağlar. Koşullar olmadan, tetikleyici çalışma alanındaki seçilen olayın her tekrarında tetiklenir.

Kullanılabilir koşul alanları:

Koşul alanıOperatörlerÖrnek
Projeeşittir, eşit değildirYalnızca "Backend" projesindeki iş öğeleri için tetikle
Durumeşittir, eşit değildirYalnızca yeni durum "İncelemede" olduğunda tetikle
Öncelikeşittir, eşit değildir, büyüktür, küçüktürYalnızca öncelik Acil veya Yüksek olduğunda tetikle
Etiketiçerir, içermezYalnızca "Hata" etiketli öğeler için tetikle
Atananeşittir, eşit değildirYalnızca belirli bir kullanıcıya atanan öğeler için tetikle

Koşullar VE mantığı ile değerlendirilir --- tetikleyicinin tetiklenmesi için tüm koşulların doğru olması gerekir.

İPUCU

Gürültüyü önlemek için koşulları kullanın. Koşulsuz bir state_changed tetikleyicisi, çalışma alanındaki her durum geçişinde tetiklenir. "Durum İncelemede" gibi bir koşul eklemek, bildirimleri tek bir anlamlı geçişle sınırlar.

Adım 6: Tetikleyiciyi etkinleştirin

Yapılandırmanızı gözden geçirin ve Kaydet düğmesine tıklayın. Tetikleyici varsayılan olarak aktif durumda oluşturulur ve olayları hemen işlemeye başlar.

Tetikleyicileri yönetme

Tetikleyicileri görüntüleme

Tetikleyiciler sayfası, tüm yapılandırılmış tetikleyicileri aşağıdaki sütunlarla bir tabloda gösterir:

SütunAçıklama
AdOlay türü ve şablondan otomatik oluşturulur
OlayBu tetikleyiciyi etkinleştiren olay türü
ŞablonBiçimlendirme için kullanılan e-posta şablonu
AlıcılarAlıcı türlerinin özeti
KoşullarAktif koşul sayısı
DurumAktif veya Devre Dışı
OluşturulmaOluşturulma tarihi

Tetikleyiciyi düzenleme

  1. Ayrıntılı görünümü açmak için herhangi bir tetikleyici satırına tıklayın.
  2. Olay türünü, şablonu, alıcıları veya koşulları değiştirin.
  3. Değişiklikleri uygulamak için Kaydet düğmesine tıklayın.

Değişiklikler yeni olaylar için hemen yürürlüğe girer. Düzenleme öncesinde zaten gönderilmiş olaylar etkilenmez.

Tetikleyicileri etkinleştirme ve devre dışı bırakma

Bir tetikleyiciyi silmeden geçici olarak durdurmak için:

  1. Durum sütunundaki geçiş anahtarına tıklayın.
  2. Tetikleyici Devre Dışı olur ve olayları işlemeyi durdurur.
  3. Yeniden etkinleştirmek için tekrar geçiş yapın.

Devre dışı bırakılmış tetikleyiciler tam yapılandırmalarıyla korunur. Tetikleyici devre dışı iken hiçbir bildirim gönderilmez.

Tetikleyici silme

  1. Tetikleyici satırındaki silme simgesine tıklayın.
  2. İletişim kutusunda silmeyi onaylayın.

UYARI

Tetikleyici silme kalıcıdır ve geri alınamaz. Tetikleyiciye tekrar ihtiyacınız olabilecekse, bunun yerine devre dışı bırakın.

Tetikleyici örnekleri

Örnek 1: Engelleyici oluşturulduğunda takım liderini bilgilendir

Hedef: Herhangi bir iş öğesinin önceliği Acil olarak değiştirildiğinde mühendislik liderini hemen bilgilendir.

AyarDeğer
Olay türüpriority_changed
ŞablonÖncelik Uyarısı
AlıcılarBelirli kullanıcılar: Mühendislik Lideri
KoşullarÖncelik Acil

Örnek 2: Geciken öğeler hakkında atananları hatırla

Hedef: Bir iş öğesinin son tarihi geçtiğinde, atanan kişiyi ve proje oluşturucusunu bilgilendir.

AyarDeğer
Olay türüdue_date_passed
ŞablonSon Tarih Geçti
AlıcılarAtananlar, Oluşturucu
KoşullarYok (tüm geciken öğeler için geçerlidir)

Örnek 3: İş incelemeye girdiğinde incelemecileri bilgilendir

Hedef: Bir iş öğesi "İncelemede" durumuna geçtiğinde belirli incelemecileri bilgilendir.

AyarDeğer
Olay türüstate_changed
ŞablonDurum Değişikliği
AlıcılarBelirli kullanıcılar: İncelemeci A, İncelemeci B
KoşullarDurum "İncelemede"

İPUCU

Bu senaryo aynı zamanda, durumdan duruma geçiş uyarıları için daha sezgisel bir arayüz sağlayan bir Durum eşlemesi için de iyi bir adaydır.

Örnek 4: Modül sahiplerini kapsam değişiklikleri hakkında bilgilendir

Hedef: Bir iş öğesi "Kimlik Doğrulama" modülüne eklendiğinde modül sahibini bilgilendir.

AyarDeğer
Olay türümodule_changed
ŞablonModüle İş Öğesi Eklendi
AlıcılarBelirli kullanıcılar: Kimlik Doğrulama Modül Sahibi
KoşullarYok

Örnek 5: Yeni hatalar hakkında uyar

Hedef: "Hata" etiketiyle yeni bir iş öğesi oluşturulduğunda KG takımını bilgilendir.

AyarDeğer
Olay türüissue_created
Şablonİş Öğesi Oluşturuldu
AlıcılarBelirli kullanıcılar: KG Lideri, KG Mühendisi
KoşullarEtiket "Hata" içeriyor

Örnek 6: İş tamamlandığında paydaşları bilgilendir

Hedef: Herhangi bir iş öğesi tamamlanmış duruma ulaştığında oluşturucuyu ve tüm aboneleri bilgilendir.

AyarDeğer
Olay türüissue_completed
Şablonİş Öğesi Tamamlandı
AlıcılarOluşturucu, Aboneler
KoşullarYok

Tetikleyici yürütme sırası

Aynı olayla eşleşen birden fazla tetikleyici olduğunda, hepsi bağımsız olarak tetiklenir. Tetikleyiciler arasında öncelik veya sıralama yoktur. Her tetikleyici kendi koşullarını değerlendirir ve kendi alıcı listesine gönderim yapar.

Bir kullanıcı farklı tetikleyicilerden aynı olay için birden fazla bildirim alacak olursa, sistem kanal düzeyinde tekilleştirir --- kullanıcı kanal başına bir bildirim alır ve ilk eşleşen tetikleyicinin şablonu kullanılır.

Performans değerlendirmeleri

  • Her aktif tetikleyici, her eşleşen olaya değerlendirme yükü ekler. Çalışma alanınızın boyutuna uygun makul sayıda aktif tetikleyici tutun.
  • Çok sayıda geniş kapsamlı tetikleyici oluşturmak yerine, tetikleyici kapsamını daraltmak için koşulları kullanın.
  • property_changed olayı sık tetiklenir. Aşırı bildirimlerden kaçınmak için belirli koşullarla kullanın.
  • due_date_passed olayı arka plan zamanlamasında değerlendirilir ve gerçek zamanlı işlem yükü eklemez.

Tetikleyici denetimi ve bakımı

Zamanla, projeler geliştikçe, takım üyeleri rol değiştirdikçe ve iş akışları yeniden yapılandırıldıkça tetikleyiciler güncelliğini yitirebilir. Düzenli bakım, tetikleyici setinizi etkili tutar.

Üçaylık gözden geçirme kontrol listesi

  • [ ] Tüm aktif tetikleyicileri listeleyin ve her birinin hala bir amaca hizmet ettiğini doğrulayın.
  • [ ] "Belirli kullanıcı" alıcılarının hala ilgili role sahip olup olmadığını kontrol edin (örneğin, farklı bir takıma geçen incelemeci).
  • [ ] 30 günden fazla süredir tetiklenmemiş tetikleyiciler için Geçmiş sayfasını inceleyin --- eskimiş olabilirler.
  • [ ] Koşulların hala mevcut proje durumları, etiketleri ve öncelikleriyle eşleşip eşleşmediğini doğrulayın.
  • [ ] Artık ihtiyaç duyulmayan tetikleyicileri aktif bırakmak yerine devre dışı bırakın.

Gürültülü tetikleyicileri belirleme

Gürültülü bir tetikleyici çok sık tetiklenir ve yararlı olandan daha fazla bildirim oluşturur. Gürültülü tetikleyicileri belirlemek için:

  1. Çalışma Alanı Ayarları > Hatırlatıcılar > Geçmiş bölümüne gidin.
  2. Tetikleyiciye göre sıralayın ve son 7 gündeki tetikleyici başına gönderim sayısını hesaplayın.
  3. Bir tetikleyici tüm bildirimlerin %30'undan fazlasından sorumluysa, koşullarını gözden geçirin.

Gürültülü tetikleyiciler için yaygın çözümler:

SorunÇözüm
Koşul belirlenmemişKapsamı daraltmak için koşullar ekleyin
Geniş olay türü (property_changed)Daha spesifik bir olay türüne geçin
Alıcılar tüm çalışma alanı üyelerini içeriyorAtananlar, Oluşturucu veya belirli kullanıcılarla daraltın
Tetikleyici tüm projeleri kapsıyorBir proje koşulu ekleyin

Limitler

LimitDeğer
Çalışma alanı başına maksimum tetikleyici100
Tetikleyici başına maksimum koşul10
Tetikleyici başına maksimum belirli kullanıcı alıcısı50
Tetikleyici başına maksimum alıcı türü4 türün tamamı birleştirilebilir

İlgili sayfalar