Otomasyon Tetikleyicileri
Tetikleyiciler, her otomasyon kuralının başlangıç noktasıdır. Bir tetikleyici, kuralın koşullarını değerlendirmesine ve eylemlerini yürütmesine neden olan olayı tanımlar. SetGet, iş öğelerinin oluşturulmasından durum geçişlerine ve zaman tabanlı zamanlamalara kadar tüm yaşam döngüsünü kapsayan 10 tetikleyici tipi sağlar.
Tetikleyiciler nasıl çalışır
Bir SetGet projesinde bir olay meydana geldiğinde (örneğin, bir iş öğesinin durumu değiştiğinde), otomasyon motoru o projedeki tüm aktif kuralları kontrol eder. Bir kuralın tetikleyicisi olayla eşleşirse, motor kuralın koşullarını değerlendirir. Koşullar sağlanırsa, kuralın eylemleri yürütülür.
Değerlendirme akışı:
- Olay meydana gelir projede.
- Tetikleyici eşleşmesi: Motor, tetikleyici tipi olayla eşleşen tüm kuralları belirler.
- Koşul değerlendirmesi: Eşleşen her kural için, motor koşulları iş öğesinin mevcut durumuna göre değerlendirir.
- Eylem yürütme: Koşullar sağlanırsa, eylemler sırayla yürütülür.
İPUCU
Tek bir olay birden fazla kuralla eşleşebilir. Eşleşen tüm kurallar bağımsız olarak yürütülür. Yürütme sırası ve çatışma çözümü hakkında ayrıntılar için Gelişmiş Kalıplar sayfasına bakın.
Tetikleyici özet tablosu
| Tetikleyici | Olay | Ne zaman tetiklenir |
|---|---|---|
issue_created | Yeni iş öğesi | Projede bir iş öğesi oluşturulur |
issue_updated | Herhangi bir özellik değişikliği | İş öğesindeki herhangi bir alan değişir |
state_changed | Durum geçişi | Bir iş öğesinin iş akışı durumu değişir |
priority_changed | Öncelik değişikliği | Bir iş öğesinin öncelik seviyesi değişir |
assignee_changed | Atanan değişikliği | Atananlar eklenir veya kaldırılır |
label_changed | Etiket değişikliği | Etiketler eklenir veya kaldırılır |
due_date_passed | Son tarih geçmişte | Bir iş öğesinin son tarihi artik geçmişte |
comment_added | Yeni yorum | Bir iş öğesine yorum gönderilir |
manual | Talep üzerine | Bir kullanıcı Çalıştır düğmesine tıklar veya API'yi çağırır |
scheduled | Zaman tabanlı | Bir zamanlama tetiklenir (bir kez, aralık veya cron) |
issue_created
Projede nasıl oluşturulduğuna bakılmaksızın (arayüz, API, içe aktarma veya otomasyon) yeni bir iş öğesi oluşturulduğunda tetiklenir.
Ne zaman tetiklenir
- Bir ekip üyesi arayüz üzerinden bir iş öğesi oluşturur.
- SetGet API'si aracılığıyla bir iş öğesi oluşturulur.
- Başka bir otomasyonun eylemi tarafından bir iş öğesi oluşturulur.
- Hariçi bir kaynaktan bir iş öğesi içe aktarılır.
Bağlamda mevcut veriler
| Alan | Açıklama |
|---|---|
issue | Oluşturma anındaki tam iş öğesi nesnesi |
issue.state | İş öğesine atanan ilk durum |
issue.priority | İlk öncelik |
issue.assignees | İlk atanan listesi (boş olabilir) |
issue.labels | İlk etiket listesi (boş olabilir) |
issue.created_by | İş öğesini oluşturan kullanıcı |
issue.project | İş öğesinin ait olduğu proje |
Örnek kullanım senaryosu
Yeni hataları otomatik olarak triyaj sorumlusuna ata:
- Tetikleyici:
issue_created - Koşul: Etiket "Bug" içeriyor
- Eylem: Belirlenen triyaj sorumlusuna ata
Yaygın kalıplar
- Oluşturma sırasında türe veya etikete göre iş öğelerini otomatik ata.
- Oluşturucunun rolüne göre ilk önceliği ayarla.
- Yeni oluşturulan öğeleri mevcut aktif döngüye taşı.
- Yeni bir iş öğesi göründüğünde proje liderine bildirim gönder.
- Tüm yeni iş öğelerine varsayılan bir etiket ekle.
UYARI
issue_created tetikleyicisini iş öğesini değiştiren eylemlerle (durum değiştirme gibi) birleştirirken dikkatli olun. Bu değişiklikler issue_updated veya state_changed kurallarını tetikleyebilir ve potansiyel olarak zincirler oluşturabilir. Yeniden giriş korumaları için Gelişmiş Kalıplar sayfasına bakın.
issue_updated
Bir iş öğesindeki herhangi bir özellik değiştiğinde tetiklenir. Bu en geniş kapsamlı tetikleyicidir ve durum değişiklikleri, öncelik değişiklikleri, atanan değişiklikleri, etiket değişiklikleri, başlık düzenlemeleri, açıklama düzenlemeleri, tarih değişiklikleri ve diğer tüm alan değişikliklerini eşleştirir.
Ne zaman tetiklenir
- İş öğesindeki herhangi bir alan arayüz, API veya otomasyon aracılığıyla değiştirilir.
- Toplu güncellemeler, etkilenen her iş öğesi için bu olayı bir kez tetikler.
Bağlamda mevcut veriler
| Alan | Açıklama |
|---|---|
issue | Güncellemeden sonraki iş öğesi |
changes | Hangi alanlarin değiştiğini, old ve new değerleriyle listeleyen nesne |
changes.field_name.old | Değişen alanın önceki değeri |
changes.field_name.new | Değişen alanın yeni değeri |
actor | Değişikliği yapan kullanıcı veya sistem |
Örnek kullanım senaryosu
Acil öğelerdeki herhangi bir değişiklikte proje yöneticisini bilgilendir:
- Tetikleyici:
issue_updated - Koşul: Öncelik "Acil" eşittir
- Eylem: Proje yöneticisine bildirim gönder
Yaygın kalıplar
- Denetim kaydı: yüksek öncelikli öğelerdeki her değişikliği takip et.
- Belirli alanlar değiştiğinde paydaşları bilgilendir.
- Alan gereksinimlerini zorla (örneğin, son tarih kaldırılirsa yeniden ekle).
İPUCU
Yalnızca belirli bir alan değişikliğiyle ilgileniyorsanız (durum veya öncelik gibi), issue_updated yerine özel tetikleyici tipini (state_changed, priority_changed) tercih edin. Özel tetikleyiciler daha verimlidir çünkü ilgisiz alanlar değiştiğinde motor değerlendirmeyi atlar.
state_changed
Bir iş öğesinin iş akışı durumu bir durumdan diğerine geçtiğinde tetiklenir.
Ne zaman tetiklenir
- Bir kullanıcı Kanban panosunda bir iş öğesini yeni bir sütuna sürükler.
- Bir kullanıcı iş öğesi detay paneli üzerinden durumu değiştirir.
- Bir API çağrısı durum alanını günceller.
- Başka bir otomasyon durumu değiştirir.
Bağlamda mevcut veriler
| Alan | Açıklama |
|---|---|
issue | Durum değişikliğinden sonraki iş öğesi |
previous_state | İş öğesinin değişiklikten önceki durumu |
new_state | İş öğesinin taşındığı yeni durum |
state_group | Yeni durumun grubu (birikmiş, başlanmamış, başlamış, tamamlanmış, iptal edilmiş) |
actor | Durumu değiştiren kullanıcı veya sistem |
Örnek kullanım senaryosu
İş "İnceleme Aşamasında" durumuna geçtiğinde otomatik olarak QA incelemecisi ata:
- Tetikleyici:
state_changed - Koşul: Yeni durum "İnceleme Aşamasında" eşittir
- Eylem: Belirlenen QA incelemecisini ata
Yaygın kalıplar
- İş inceleme durumlarına girdiğinde incelemeci ata.
- Öğeler "Tamamlandı" veya "İptal Edildi" durumuna geçtiğinde paydaşları bilgilendir.
- Tamamlanan öğeleri belirli bir döngü veya modüle taşı.
- Geriye giden öğeleri yükselt (örneğin, "Devam Ediyor"dan "Birikme"ye geri).
- Terminal durumuna ulaşan öğeleri arşivle.
priority_changed
Bir iş öğesinin öncelik seviyesi değiştiğinde tetiklenir.
Ne zaman tetiklenir
- Bir kullanıcı arayüz üzerinden önceliği değiştirir.
- Bir API çağrısı öncelik alanını günceller.
- Başka bir otomasyon önceliği değiştirir.
Bağlamda mevcut veriler
| Alan | Açıklama |
|---|---|
issue | Öncelik değişikliğinden sonraki iş öğesi |
previous_priority | Değişiklikten önceki öncelik (yok, düşük, orta, yüksek, acil) |
new_priority | Değişiklikten sonraki öncelik |
actor | Önceliği değiştiren kullanıcı veya sistem |
Örnek kullanım senaryosu
Bir öğe Acil'e yükseltildiğinde uyarı gönder:
- Tetikleyici:
priority_changed - Koşul: Yeni öncelik "Acil" eşittir
- Eylem: Mühendislik liderine bildirim gönder ve "yükseltme" etiketini ekle
Yaygın kalıplar
- Öğeler yükseltildiğinde liderleri bilgilendir.
- Öncelik "Yüksek" veya "Acil"e ulaştığında otomatik olarak kıdemli bir mühendis ata.
- Yükseltme yolunu gösteren bir etiket ekle.
- Acil öğeleri mevcut sprint döngüsüne taşı.
assignee_changed
Bir iş öğesine atananlar eklendiğinde veya kaldırıldığında tetiklenir.
Ne zaman tetiklenir
- Bir kullanıcı arayüz üzerinden bir üye atar veya atamasını kaldırır.
- Bir API çağrısı atanan listesini değiştirir.
- Başka bir otomasyon bir atanan ekler veya kaldırır.
Bağlamda mevcut veriler
| Alan | Açıklama |
|---|---|
issue | Atanan değişikliğinden sonraki iş öğesi |
added_assignees | Atanan olarak eklenen kullanıcıların listesi |
removed_assignees | Ataması kaldırılan kullanıcıların listesi |
current_assignees | Mevcut atananların tam listesi |
actor | Atananları değiştiren kullanıcı veya sistem |
Örnek kullanım senaryosu
Yeni atananı bilgilendir ve öğeyi "Devam Ediyor" durumuna taşı:
- Tetikleyici:
assignee_changed - Koşul: En az bir atanan eklendi VE durum "Birikme"
- Eylem: Durumu "Devam Ediyor"a değiştir, yeni atananlara bildirim gönder
Yaygın kalıplar
- Bir atanan eklendiğinde durumu otomatik olarak geçir.
- Öğeler ekip üyelerine atandığında takım liderlerini bilgilendir.
- Atama sınırlarını zorla (bir kullanıcının çok fazla ataması varsa bildirim gönder).
- İş yükü takibi için atama geçmişini kaydet.
label_changed
Bir iş öğesine etiketler eklendiğinde veya kaldırıldığında tetiklenir.
Ne zaman tetiklenir
- Bir kullanıcı arayüz üzerinden bir etiket ekler veya kaldırır.
- Bir API çağrısı etiket listesini değiştirir.
- Başka bir otomasyon bir etiket ekler veya kaldırır.
Bağlamda mevcut veriler
| Alan | Açıklama |
|---|---|
issue | Etiket değişikliğinden sonraki iş öğesi |
added_labels | Eklenen etiketlerin listesi |
removed_labels | Kaldırılan etiketlerin listesi |
current_labels | Mevcut etiketlerin tam listesi |
actor | Etiketleri değiştiren kullanıcı veya sistem |
Örnek kullanım senaryosu
"Bug" etiketi eklendiğinde hataları triyaj kuyruğuna yönlendir:
- Tetikleyici:
label_changed - Koşul: "Bug" eklenen etiketlerde
- Eylem: Durumu "Triyaj"a değiştir, triyaj sorumlusuna ata
Yaygın kalıplar
- Etiketlere göre iş öğelerini belirli iş akışlarına yönlendir.
- Etiketleri uygulandığında uzman ekipleri bilgilendir (örneğin, "Güvenlik", "Performans").
- İlişkili etiketleri otomatik ekle ("Kritik Hata" eklemek ayrıca "Bug" da ekler).
- Çelişen etiketleri otomatik olarak kaldır.
due_date_passed
Bir iş öğesinin son tarihi artik geçmişte olduğunda ve öğe tamamlanmış veya iptal edilmiş durumda olmadığında tetiklenir.
Ne zaman tetiklenir
- Sistem zamanlayıcısı son tarihleri periyodik olarak kontrol eder (her 15 dakikada bir).
- Bir iş öğesinin son tarihi geçmişse ve hala aktif bir durum grubundaysa (birikmiş, başlanmamış veya başlamış), tetikleyici çalışır.
- Bu tetikleyici, her iş öğesi için son tarih geçişi başına bir kez çalışır. Sonraki kontrollerde yeniden çalışmaz.
Bağlamda mevcut veriler
| Alan | Açıklama |
|---|---|
issue | Süresi geçmiş iş öğesi |
due_date | Geçmiş olan son tarih |
days_overdue | Son tarihten itibaren geçen gün sayısı |
current_state | İş öğesinin mevcut durumu |
assignees | Mevcut atanan listesi |
Örnek kullanım senaryosu
Süresi geçmiş öğeleri Acil önceliğe yükselt ve proje yöneticisini bilgilendir:
- Tetikleyici:
due_date_passed - Koşul: Öncelik zaten "Acil" değil
- Eylem: Önceliği "Acil"e değiştir, proje yöneticisine bildirim gönder
Yaygın kalıplar
- Süresi geçmiş öğelerin önceliğini yükselt.
- Atananları ve yöneticileri süresi geçmiş işler hakkında bilgilendir.
- Görsel takip için "Süresi Geçmiş" etiketi ekle.
- Öğenin süresinin geçtiğini belirten otomatik bir yorum gönder.
UYARI
due_date_passed tetikleyicisi gerçek zamanlı değil, periyodik bir zamanlamayla çalışır. Son tarihin geçmesi ile tetikleyicinin çalışması arasında 15 dakikaya kadar bir gecikme olabilir.
comment_added
Bir iş öğesine yeni bir yorum gönderildiğinde tetiklenir.
Ne zaman tetiklenir
- Bir kullanıcı arayüz üzerinden bir yorum gönderir.
- Bir API çağrısı bir yorum oluşturur.
- Başka bir otomasyon bir yorum ekler (döngülerden sakınılmalıdır).
Bağlamda mevcut veriler
| Alan | Açıklama |
|---|---|
issue | Yorumun eklendiği iş öğesi |
comment | Yorum nesnesi (metin, yazar, zaman damgası) |
comment.body | Yorumun metin içeriği |
comment.author | Yorumu gönderen kullanıcı |
actor | Yorum yazarıyla aynı |
Örnek kullanım senaryosu
Birisi iş öğesine yorum yaptığinda atananı bilgilendir:
- Tetikleyici:
comment_added - Koşul: Yorum yazarı atanan değil
- Eylem: Tüm atananlara bildirim gönder
Yaygın kalıplar
- Yeni yorumlar hakkında atananları bilgilendir.
- Yorumlardaki anahtar kelimeleri tespit et (örneğin, "engellendi", "yardım gerekli") ve harekete geç.
- Bir yorum belirli bir metin içerdiğinde otomatik olarak etiket ekle.
- SLA amaçları için yorum aktivitesini takip et.
UYARI
Kuralınız bir eylem olarak yorum ekliyorsa ve başka bir kural comment_added üzerinde tetikleniyorsa, sonsuz döngü oluşturabilirsiniz. Gelişmiş Kalıplar sayfasında açıklanan yeniden giriş korumasını kullanın.
manual
Bir kullanıcı kuralı arayüz veya API üzerinden açıkça tetiklediğinde talep üzerine çalışır. Manuel tetikleyiciler, otomatik olarak çalışmaması gereken ancak tek tıkla eylem olarak kullanılabilir olması gereken kurallar için kullanışlıdır.
Ne zaman tetiklenir
- Bir kullanıcı Otomasyon ayarları sayfasindaki kuralda Çalıştır düğmesine tıklar.
- Bir kullanıcı SetGet API
POST /api/automations/{rule_id}/executeuç noktası aracılığıyla kuralı çağırır.
Bağlamda mevcut veriler
| Alan | Açıklama |
|---|---|
actor | Kuralı tetikleyen kullanıcı |
project | Kuralın ait olduğu proje |
scope | Kuralın koşullarıyla eşleşen tüm iş öğeleri |
Örnek kullanım senaryosu
Talep üzerine eski öğeleri toplu temizle:
- Tetikleyici:
manual - Koşul: Durum "Birikme" VE 90 günden fazla süredir güncellenmemiş
- Eylem: Eşleşen tüm iş öğelerini arşivle
Yaygın kalıplar
- Eski veya bayat öğelerin talep üzerine temizliği.
- Yalnızca bir insan karar verdiginde çalıştırılmasi gereken toplu işlemler.
- Tek tıkla triyaj iş akışları.
- Otomatik bir tetikleyiciyi etkinleştirmeden önce kuralı test etme.
İPUCU
Manuel tetikleyiciler test için harikadır. Kuralınızı önce manuel tetikleyiciyle oluşturun, beklendiği gibi çalıştığını doğrulayın, ardından otomatik bir tetikleyici tipine geçin.
scheduled
Zaman tabanlı bir zamanlamayla tetiklenir. Zamanlanmış tetikleyiciler, iş öğesi olaylarından bağımsız olarak belirlenen zamanlarda kuralı çalıştırır.
Ne zaman tetiklenir
Üç zamanlama modu mevcuttur:
| Mod | Açıklama | Örnek |
|---|---|---|
| Bir kez | Belirli bir tarih ve saatte tek sefer tetiklenir | 30 Mart 2026 saat 09:00 UTC |
| Aralık | Her N dakika, saat, gün veya haftada tekrar tekrar tetiklenir | Her 24 saatte bir |
| Cron | Bir cron zamanlamasında tetiklenir | 0 2 * * * (her gün saat 02:00'de) |
Bağlamda mevcut veriler
| Alan | Açıklama |
|---|---|
project | Kuralın ait olduğu proje |
scope | Kuralın koşullarıyla eşleşen tüm iş öğeleri |
schedule_time | Zamanlamanın tetiklendiği zaman |
schedule_type | "once", "interval" veya "cron" |
Örnek kullanım senaryosu
Her Pazartesi sabah 9'da haftalık bayat öğe raporu:
- Tetikleyici:
scheduled(cron:0 9 * * 1) - Koşul: Durum "Devam Ediyor" VE son 7 günde güncelleme yok
- Eylem: "Bayat" etiketini ekle, proje yöneticisine bildirim gönder
Yaygın kalıplar
- Süresi geçmiş veya terk edilmiş öğelerin günlük temizliği.
- Haftalik raporlar ve özetler.
- Tamamlanan öğelerin aylik arşivlenmesi.
- Periyodik öncelik incelemeleri.
- Son tarihleri yaklasan öğeler için zamanlanmış hatırlatmalar.
Üç zamanlama modunun tamamı için ayrıntılı yapılandırma için Zamanlama sayfasına bakın.
Doğru tetikleyiciyi seçme
| Senaryo | Önerilen tetikleyici |
|---|---|
| Yeni iş öğelerine tepki verme | issue_created |
| Belirli bir alan değişikliğine tepki verme | Özel tetikleyiciyi kullanın (state_changed, priority_changed, assignee_changed, label_changed) |
| Herhangi bir değişikliğe tepki verme | issue_updated |
| Son tarihleri zorlama | due_date_passed |
| Tartışmaya yanıt verme | comment_added |
| Talep üzerine çalıştırma | manual |
| Zamanlamaya göre çalıştırma | scheduled |
İPUCU
Mümkün olduğunda issue_updated yerine özel tetikleyicileri tercih edin. Özel tetikleyiciler daha verimlidir ve kuralların bir bakista anlaşılmasını kolaylaştırır.
İlgili sayfalar
- Otomasyon Kuralları -- Kuralları oluşturma ve yönetme
- Koşullar -- Bir kuralın hangi öğelere uygulanacağını filtreleme
- Eylemler -- Bir kural tetiklendiğinde ne olur
- Zamanlama -- Zamanlanmış tetikleyicileri yapılandırma
- Gelişmiş Kalıplar -- Zincirleme, döngüler ve çatışma çözümü
- Yürütme Geçmişi -- Geçmiş kural yürütmelerini inceleme