Skip to content

Uyari Tetikleyicileri

Tetikleyiciler, SetGet uyari sisteminin temel mekanizmasidir. Bir tetikleyici, hangi olayin bildirim olusturacagini, bicimlendirme icin hangi sablonun kullanilacagini ve bildirimi kimin alacagini tanimlar. Belirtilen olay gerceklestiginde ve yapilandirilan kosullar saglandiginda, sistem her alicinin tercihlerinde etkinlestirilen kanallar araciligiyla bildirimleri gonderir.

Tetikleyiciler nasil calisir

Tetikleyici degerlendirme akisi:

  1. Bir kullanici veya sistem eylemi bir is ogesini degistirir (ornegin durumu degistirir, yorum ekler, onceligi gunceller).
  2. Backend NotificationDispatcher ilgili olayi tetikler.
  3. Uyari sistemi, olay turuyle eslesen tum aktif tetikleyicileri degerlendirir.
  4. Eslesen her tetikleyici icin, kosullar is ogesinin mevcut ozelliklerine gore kontrol edilir.
  5. Kosullar saglanirsa, sistem alici listesini cozumler.
  6. Her alici icin, sistem hangi kanallarin etkin oldugunu belirlemek uzere bildirim tercihlerini kontrol eder.
  7. Bildirimler, yapilandirilan sablon kullanilarak etkinlestirilen kanallar (uygulama ici, e-posta, SMS) araciligiyla gonderilir.

Olay turleri referansi

SetGet, tetikleyici kaynaklari olarak kullanilabilecek 16 olay turunu destekler. Her olay turu, bir is ogesi veya iliskili varliklari uzerindeki belirli bir eyleme karsilik gelir.

Olay turuNe zaman tetiklenirTipik kullanim senaryosu
state_changedBir is ogesinin durumu guncellenir (ornegin "Yapilacak" iken "Devam Ediyor" olur)Atanan kisileri ve izleyicileri is akisi ilerlemesi hakkinda bilgilendir
assignee_changedBir is ogesi farkli bir kullaniciya atanir veya atamasi kaldirilirYeni atanan kisiyi yeni sorumluluklari hakkinda uyar
priority_changedBir is ogesinin oncelik duzeyi degistirilirOncelik Acil veya Yuksek'e yukseldiginde farkindaligin arttirilmasi
comment_addedBir is ogesine yeni yorum eklenirAboneleri tartisma etkinligi hakkinda bilgilendir
issue_createdProjede yeni bir is ogesi olusturulurProje liderlerini gelen is hakkinda bilgilendir
due_date_passedBir is ogesinin son tarihi tamamlanmadan gecmistirAtanan kisileri ve yoneticileri geciken ogeler hakkinda uyar
label_changedBir is ogesine etiketler eklenir veya kaldirilirEtiket sahiplerini alanlari etkilendiginde bilgilendir
property_changedBir is ogesindeki herhangi bir izlenen ozellik degistirilirBelirli olaylar tarafindan karsilanmayan ozellik guncellemeleri icin genel yakalayici
issue_completedBir is ogesi tamamlanmis duruma gecerPaydaslari teslimatlarin hazir oldugu konusunda bilgilendir
mentionedBir kullanici yorum veya aciklamada @bahsedilirBahsedilen kullaniciya hedefli bildirim gonder
date_changedBir is ogesinin baslangic tarihi veya son tarihi degistirilirTakvimler kaydiginda planlamacilari uyar
cycle_changedBir is ogesi bir donguye eklenir veya dongudan cikarilirDongu liderlerini kapsam degisiklikleri hakkinda bilgilendir
module_changedBir is ogesi bir module eklenir veya modulden cikarilirModul sahiplerini kapsam degisiklikleri hakkinda bilgilendir
link_changedBir is ogesine baglanti eklenir veya kaldirilirIs birlikcilarini yeni dis referanslar hakkinda bilgilendir
relation_changedBir iliski (engelliyor, engelleniyor, iliskili) eklenir veya kaldirilirBagimli takimlari iliski degisiklikleri hakkinda uyar
archive_changedBir is ogesi arsivlenir veya arsivden cikarilirOgeler aktif gorunumden cikarildiginda veya geri yuklendiginde takimi bilgilendir

TIP

property_changed olayi genis kapsamli bir genel yakalayicidir. Ilgilendiginiz ozellik icin daha spesifik bir olay turu varsa (ornegin oncelik icin priority_changed), daha temiz tetikleyici mantigi icin spesifik olay turunu kullanin.

Olay kategorileri

16 olay turu dort mantiksal kategoriye ayrilir:

Temel yasam dongusu olaylari

Bu olaylar, bir is ogesinin olusturulmadan tamamlanma ve arsivlemeye kadar olan temel yasam dongusunu izler.

OlayKategori
issue_createdOlusturma
state_changedIs akisi ilerlemesi
issue_completedTamamlanma
archive_changedArsivleme

Ozellik degisikligi olaylari

Bu olaylar, bir is ogesindeki belirli ozellikler degistirildiginde tetiklenir.

OlayOzellik
assignee_changedAtanan
priority_changedOncelik
label_changedEtiketler
date_changedBaslangic tarihi veya son tarih
property_changedDiger izlenen ozellikler

Is birligi olaylari

Bu olaylar, is ogelerindeki insan etkilesimiyle ilgilidir.

OlayEtkilesim
comment_addedYeni yorum eklendi
mentionedKullanici @bahsedildi

Iliski olaylari

Bu olaylar, bir is ogesinin diger varliklarla iliskilerinin degismesi durumunda tetiklenir.

OlayIliski
cycle_changedDongu uyeligi
module_changedModul uyeligi
link_changedDis baglantilar
relation_changedIs ogesi iliskileri (engelliyor, iliskili vb.)

Zaman tabanli olaylar

OlayKosul
due_date_passedSon tarih gecmistir (arka plan zamanlamasi ile degerlendirilir)

WARNING

due_date_passed olayi, bir kullanici eylemi tarafindan degil, arka plan zamanlayicisi tarafindan degerlendirilir. Son tarih gectiginde bir kez tetiklenir. Tekrarlayan hatirlaticlara ihtiyaciniz varsa, farkli kosullarla birden fazla tetikleyici olusturun veya otomasyon sistemini kullanin.

Tetikleyici olusturma

Adim 1: Tetikleyicilere gidin

  1. Calisma alaninizi acin.
  2. Ayarlar > Hatirlaticilar > Tetikleyiciler bolumune gidin.
  3. Tetikleyici Olustur dusesine tiklayin.

Adim 2: Olay turunu secin

Acilir listeden 16 olay turundan birini secin. Bu, tetikleyicinin hangi eylemlerde tetiklenecegini belirler.

Bildirim ihtiyacinizla en iyi eslesen olayi degerlendirin. Ornegin, bir is ogesinin engelleyici olarak isaretlendiginde bildirim gonderilmesini istiyorsaniz, genel property_changed olayi yerine "Acil" oncelik duzeyi icin filtreleyen bir kosulla birlikte priority_changed kullanin.

Adim 3: Bir sablon secin

Bildirimi bicimlendirmek icin kullanilacak e-posta sablonunu secin. SetGet, kategorilere gore duzenlenmis 21 sistem sablonu sunar. Sablon, bildirimde kullanilan konu satiri, govde yapisi ve degisken yer tutucularini belirler.

Her olay turunun dogal bir sablon eslesmesi vardir:

Olay turuOnerilen sablon
state_changedDurum Degisikligi
assignee_changedAtama
priority_changedOncelik Uyarisi
comment_addedYorum Eklendi
issue_createdIs Ogesi Olusturuldu
due_date_passedSon Tarih Gecti
label_changedEtiket Degisti
issue_completedIs Ogesi Tamamlandi
mentionedBahsetme
date_changedTarih Degisti
cycle_changedDonguye Is Ogesi Eklendi
module_changedModule Is Ogesi Eklendi
link_changedBaglanti Guncellendi
relation_changedIliski Degisti
archive_changedIs Ogesi Arsivlendi
property_changedOzellik Degisikligi

Tam sablon katalogu ve degisken referansi icin Sablonlar sayfasina bakin.

Adim 4: Alicilari secin

Bu tetikleyici tetiklendiginde kimin bildirim alacagini tanimlayin. Birden fazla alici turunu birlestirebilirsiniz.

Alici turuAciklama
AtananlarIs ogesinin mevcut atanan kisi(ler)i
OlusturucuIs ogesini ilk olusturan kullanici
AbonelerIs ogesine abone olan tum kullanicilar
Belirli kullanicilarAda gore secilen bir veya daha fazla calisma alani uyesi

Alici cozumleme kurallari:

  • Bir kullanici birden fazla alici turunde gorunuyorsa (ornegin hem atanan hem de abone ise), kanal basina yalnizca bir bildirim alir.
  • Olayi tetikleyen aktor varsayilan olarak bildirimlerden haric tutulur. Ornegin, bir kullanici kendi is ogesinin durumunu degistirirse, durum degisikligi bildirimi almaz.
  • Belirli kullanicilar, abonelik durumlarina bakilmaksizin her zaman bildirimi alir.

Adim 5: Kosullari belirleyin (istege bagli)

Kosullar, tetikleyicinin kapsamini daraltarak yalnizca belirli kriterlere uyan is ogeleri icin tetiklenmesini saglar. Kosullar olmadan, tetikleyici calisma alanindaki secilen olayin her tekrarinda tetiklenir.

Kullanilabilir kosul alanlari:

Kosul alaniOperatorlerOrnek
Projeesittir, esit degildirYalnizca "Backend" projesindeki is ogeleri icin tetikle
Durumesittir, esit degildirYalnizca yeni durum "Incelemede" oldugunda tetikle
Oncelikesittir, esit degildir, buyuktur, kucukturYalnizca oncelik Acil veya Yuksek oldugunda tetikle
Etiketicerir, icermezYalnizca "Hata" etiketli ogeler icin tetikle
Atananesittir, esit degildirYalnizca belirli bir kullaniciya atanan ogeler icin tetikle

Kosullar VE mantigi ile degerlendirilir --- tetikleyicinin tetiklenmesi icin tum kosullarin dogru olmasi gerekir.

TIP

Gurultuyu onlemek icin kosullari kullanin. Kosulsuz bir state_changed tetikleyicisi, calisma alanindaki her durum gecisinde tetiklenir. "Durum Incelemede" gibi bir kosul eklemek, bildirimleri tek bir anlamli gecisle sinirlar.

Adim 6: Tetikleyiciyi etkinlestirin

Yapilandirmanizi gozden gecirin ve Kaydet dusesine tiklayin. Tetikleyici varsayilan olarak aktif durumda olusturulur ve olaylari hemen islemeye baslar.

Tetikleyicileri yonetme

Tetikleyicileri goruntuleme

Tetikleyiciler sayfasi, tum yapilandirmis tetikleyicileri asagidaki sutunlarla bir tabloda gosterir:

SutunAciklama
AdOlay turu ve sablondan otomatik olusturulur
OlayBu tetikleyiciyi etkinlestiren olay turu
SablonBicimlendirme icin kullanilan e-posta sablonu
AlicilarAlici turlerinin ozeti
KosullarAktif kosul sayisi
DurumAktif veya Devre Disi
OlusturulmaOlusturulma tarihi

Tetikleyiciyi duzenleme

  1. Ayrintili gorunumu acmak icin herhangi bir tetikleyici satirina tiklayin.
  2. Olay turunu, sablonu, alicilari veya kosullari degistirin.
  3. Degisiklikleri uygulamak icin Kaydet dusesine tiklayin.

Degisiklikler yeni olaylar icin hemen yururluge girer. Duzenleme oncesinde zaten gonderilmis olaylar etkilenmez.

Tetikleyicileri etkinlestirme ve devre disi birakma

Bir tetikleyiciyi silmeden gecici olarak durdurmak icin:

  1. Durum sutunundaki gecis anahtarina tiklayin.
  2. Tetikleyici Devre Disi olur ve olaylari islemeyi durdurur.
  3. Yeniden etkinlestirmek icin tekrar gecis yapin.

Devre disi birakilmis tetikleyiciler tam yapilandirmalariyla korunur. Tetikleyici devre disi iken hicbir bildirim gonderilmez.

Tetikleyici silme

  1. Tetikleyici satirindaki silme simgesine tiklayin.
  2. Iletisim kutusunda silmeyi onaylayin.

WARNING

Tetikleyici silme kalicidir ve geri alinamaz. Tetikleyiciye tekrar ihtiyaciniz olabilecekse, bunun yerine devre disi birakin.

Tetikleyici ornekleri

Ornek 1: Engelleyici olusturuldugunda takim liderini bilgilendir

Hedef: Herhangi bir is ogesinin onceligi Acil olarak degistirildiginde muhendislik liderini hemen bilgilendir.

AyarDeger
Olay turupriority_changed
SablonOncelik Uyarisi
AlicilarBelirli kullanicilar: Muhendislik Lideri
KosullarOncelik Acil

Ornek 2: Geciken ogeler hakkinda atananlari hatirla

Hedef: Bir is ogesinin son tarihi gectiginde, atanan kisiyi ve proje olusturucusunu bilgilendir.

AyarDeger
Olay turudue_date_passed
SablonSon Tarih Gecti
AlicilarAtananlar, Olusturucu
KosullarYok (tum geciken ogeler icin gecerlidir)

Ornek 3: Is incelemeye girdiginde incelemecileri bilgilendir

Hedef: Bir is ogesi "Incelemede" durumuna gectiginde belirli incelemecileri bilgilendir.

AyarDeger
Olay turustate_changed
SablonDurum Degisikligi
AlicilarBelirli kullanicilar: Incelemeci A, Incelemeci B
KosullarDurum "Incelemede"

TIP

Bu senaryo ayni zamanda, durumdan duruma gecis uyarilari icin daha sezgisel bir arayuz saglayan bir Durum eslesmesi icin de iyi bir adaydir.

Ornek 4: Modul sahiplerini kapsam degisiklikleri hakkinda bilgilendir

Hedef: Bir is ogesi "Kimlik Dogrulama" modulune eklendiginde modul sahibini bilgilendir.

AyarDeger
Olay turumodule_changed
SablonModule Is Ogesi Eklendi
AlicilarBelirli kullanicilar: Kimlik Dogrulama Modul Sahibi
KosullarYok

Ornek 5: Yeni hatalar hakkinda uyar

Hedef: "Hata" etiketiyle yeni bir is ogesi olusturuldugunda KG takimini bilgilendir.

AyarDeger
Olay turuissue_created
SablonIs Ogesi Olusturuldu
AlicilarBelirli kullanicilar: KG Lideri, KG Muhendisi
KosullarEtiket "Hata" iceriyor

Ornek 6: Is tamamlandiginda paydaslari bilgilendir

Hedef: Herhangi bir is ogesi tamamlanmis duruma ulastiginda olusturucuyu ve tum aboneleri bilgilendir.

AyarDeger
Olay turuissue_completed
SablonIs Ogesi Tamamlandi
AlicilarOlusturucu, Aboneler
KosullarYok

Tetikleyici yurutme sirasi

Ayni olayla eslesen birden fazla tetikleyici oldugunda, hepsi bagimsiz olarak tetiklenir. Tetikleyiciler arasinda oncelik veya siralama yoktur. Her tetikleyici kendi kosullarini degerlendirir ve kendi alici listesine gonderim yapar.

Bir kullanici farkli tetikleyicilerden ayni olay icin birden fazla bildirim alacak olursa, sistem kanal duzeyinde tekillestirir --- kullanici kanal basina bir bildirim alir ve ilk eslesen tetikleyicinin sablonu kullanilir.

Performans degerlendirmeleri

  • Her aktif tetikleyici, her eslesen olaya degerlendirme yuku ekler. Calisma alaninizin boyutuna uygun makul sayida aktif tetikleyici tutun.
  • Cok sayida genis kapsamli tetikleyici olusturmak yerine, tetikleyici kapsamini daraltmak icin kosullari kullanin.
  • property_changed olayi sik tetiklenir. Asiri bildirimlerden kacinmak icin belirli kosullarla kullanin.
  • due_date_passed olayi arka plan zamanlamasinda degerlendirilir ve gercek zamanli islem yuku eklemez.

Tetikleyici denetimi ve bakimi

Zamanla, projeler gelistikce, takim uyeleri rol degistirdikce ve is akislari yeniden yapilandirildikca tetikleyiciler guncelligini yitirebilir. Duzenli bakim, tetikleyici setinizi etkili tutar.

Ucaylik gozden gecirme kontrol listesi

  • [ ] Tum aktif tetikleyicileri listeleyin ve her birinin hala bir amaca hizmet ettigini dogrulayin.
  • [ ] "Belirli kullanici" alicilarinin hala ilgili role sahip olup olmadigini kontrol edin (ornegin, farkli bir takima gecen incelemeci).
  • [ ] 30 gunden fazla suredir tetiklenmemis tetikleyiciler icin Gecmis sayfasini inceleyin --- eskimis olabilirler.
  • [ ] Kosullarin hala mevcut proje durumlari, etiketleri ve oncelikleriyle eslesip eslesmedigini dogrulayin.
  • [ ] Artik ihtiyac duyulmayan tetikleyicileri aktif birakmak yerine devre disi birakin.

Gurultulu tetikleyicileri belirleme

Gurultulu bir tetikleyici cok sik tetiklenir ve yararli olandan daha fazla bildirim olusturur. Gurultulu tetikleyicileri belirlemek icin:

  1. Calisma Alani Ayarlari > Hatirlaticilar > Gecmis bolumune gidin.
  2. Tetikleyiciye gore siralayin ve son 7 gundeki tetikleyici basina gonderim sayisini hesaplayin.
  3. Bir tetikleyici tum bildirimlerin %30'undan fazlasindan sorumluysa, kosullarini gozden gecirin.

Gurultulu tetikleyiciler icin yaygin cozumler:

SorunCozum
Kosul belirlenmemisKapsami daraltmak icin kosullar ekleyin
Genis olay turu (property_changed)Daha spesifik bir olay turune gecin
Alicilar tum calisma alani uyelerini iceriyorAtananlar, Olusturucu veya belirli kullanicilarla daraltın
Tetikleyici tum projeleri kapsiyorBir proje kosulu ekleyin

Limitler

LimitDeger
Calisma alani basina maksimum tetikleyici100
Tetikleyici basina maksimum kosul10
Tetikleyici basina maksimum belirli kullanici alicisi50
Tetikleyici basina maksimum alici turu4 turun tamami birlestirilebilir

Ilgili sayfalar