Otomasyon Koşulları
Koşullar, bir kuralın hangi iş öğelerine uygulanacağını belirler. Bir tetikleyici çalıştığında, otomasyon motoru kuralın koşullarını etkilenen iş öğesine göre değerlendirir. Tüm koşullar sağlanırsa kuralın eylemleri yürütülür. Herhangi bir koşul başarısız olursa (VE modunda) veya tüm koşullar başarısız olursa (VEYA modunda), kural o iş öğesi için atlanır.
Koşul yapısı
Her koşul üç parçadan oluşur:
- Alan -- Değerlendirilecek iş öğesi özelliği.
- Operatör -- Alanın değerinin nasıl karşılaştırılacağı.
- Değer -- Karşılaştırılacak hedef değer(ler).
Örneğin: priority (alan) equals (operatör) Urgent (değer).
Arayüzde koşul oluşturma
Koşul oluşturucu, kural düzenleyicisinin bir parçasıdır. Koşul eklemek için:
- Kural düzenleyicisini açın (Ayarlar > Otomasyonlar > Kural Oluştur üzerinden veya mevcut bir kuralı düzenleyin).
- Koşullar bölümünde Koşul Ekle'ye tıklayın.
- İlk açılır menüden bir alan seçin.
- İkinci açılır menüden bir operatör seçin (mevcut operatörler alan tipine bağlıdır).
- Üçüncü girişte bir değer girin veya seçin (alan ve operatöre bağlı olarak metin girişi, açılır menü veya çoklu seçim).
- Koşulu kaydetmek için Ekle'ye tıklayın.
Birden fazla koşul eklemek için bu adımları tekrarlayın. Birden fazla koşulun nasıl birleşeceğini kontrol etmek için VE/VEYA geçişini kullanın.
Alan tipleri
SetGet, otomasyon koşullarında 7 alan tipini destekler.
priority
İş öğesinin öncelik seviyesini değerlendirir.
| Özellik | Detay |
|---|---|
| Alan anahtarı | priority |
| Veri tipi | Enum |
| Olası değerler | none, low, medium, high, urgent |
| Uyumlu operatörler | equals, not_equals, in, not_in |
Örnek: Yalnızca Yüksek veya Acil öncelikli iş öğelerini eşle.
- Alan:
priority - Operator:
in - Değer:
high, urgent
state_group
İş öğesinin mevcut durumunun ait olduğu grubu değerlendirir. Durum grupları, bireysel durumları daha geniş yaşam döngüsü aşamalarına kategorize eder.
| Özellik | Detay |
|---|---|
| Alan anahtarı | state_group |
| Veri tipi | Enum |
| Olası değerler | backlog, unstarted, started, completed, cancelled |
| Uyumlu operatörler | equals, not_equals, in, not_in |
Örnek: Yalnızca aktif durumlardaki iş öğelerini eşle.
- Alan:
state_group - Operator:
in - Değer:
unstarted, started
İPUCU
Kuralınız bir yaşam döngüsü aşamasındaki herhangi bir duruma uygulanması gerektiğinde, bireysel durum adlarını eşlemek yerine state_group kullanın. Bu, kuralı durum adı değişikliklerine karşı dayanıklı kılar.
assignee_ids
İş öğesine atanan kullanıcıların listesini değerlendirir.
| Özellik | Detay |
|---|---|
| Alan anahtarı | assignee_ids |
| Veri tipi | Kullanıcı kimliklerinin dizisi |
| Değer girişi | Çoklu seçimli kullanıcı seçici |
| Uyumlu operatörler | contains, is_empty, is_not_empty, in, not_in |
Örnek: Atanmamis iş öğelerini eşle.
- Alan:
assignee_ids - Operator:
is_empty - Değer: (gerekli değil)
Örnek: Belirli bir ekip üyesine atanmış iş öğelerini eşle.
- Alan:
assignee_ids - Operator:
contains - Değer: Seçiciden kullanıcıyı seçin
label_ids
İş öğesine ekli etiketlerin listesini değerlendirir.
| Özellik | Detay |
|---|---|
| Alan anahtarı | label_ids |
| Veri tipi | Etiket kimliklerinin dizisi |
| Değer girişi | Çoklu seçimli etiket seçici |
| Uyumlu operatörler | contains, is_empty, is_not_empty, in, not_in |
Örnek: "Bug" etiketli iş öğelerini eşle.
- Alan:
label_ids - Operator:
contains - Değer: Etiket seçicisinden "Bug" seçin
Örnek: Etiketi olmayan iş öğelerini eşle.
- Alan:
label_ids - Operator:
is_empty - Değer: (gerekli değil)
created_by
İş öğesini oluşturan kullanıcıyı değerlendirir.
| Özellik | Detay |
|---|---|
| Alan anahtarı | created_by |
| Veri tipi | Kullanıcı kimliği |
| Değer girişi | Kullanıcı seçici |
| Uyumlu operatörler | equals, not_equals, in, not_in |
Örnek: Dış paydaşlar tarafından oluşturulan iş öğelerini eşle.
- Alan:
created_by - Operator:
in - Değer: Dış paydaş kullanıcıları seçin
updated_at_age_days
İş öğesinin en son ne zaman güncellendigi gün sayısını değerlendirir. Bu, değerlendirme anında hesaplanan türetilmiş bir alandir.
| Özellik | Detay |
|---|---|
| Alan anahtarı | updated_at_age_days |
| Veri tipi | Tamsayı (gün) |
| Değer girişi | Sayı girişi |
| Uyumlu operatörler | equals, not_equals, greater_than, less_than |
Örnek: 30 günden fazla süredir güncellenmemiş iş öğelerini eşle.
- Alan:
updated_at_age_days - Operator:
greater_than - Değer:
30
İPUCU
Bayat öğeleri arşivleyen periyodik temizlik kuralları oluşturmak için updated_at_age_days alanını scheduled tetikleyiciyle birleştirin.
created_at_age_days
İş öğesinin oluşturulmasından bu yana geçen gün sayısını değerlendirir. Bu, değerlendirme anında hesaplanan türetilmiş bir alandir.
| Özellik | Detay |
|---|---|
| Alan anahtarı | created_at_age_days |
| Veri tipi | Tamsayı (gün) |
| Değer girişi | Sayı girişi |
| Uyumlu operatörler | equals, not_equals, greater_than, less_than |
Örnek: 90 günden fazla önce oluşturulmuş iş öğelerini eşle.
- Alan:
created_at_age_days - Operator:
greater_than - Değer:
90
Operatörler
SetGet, koşul değerlendirmesi için 9 operatör sağlar.
| Operatör | Açıklama | Uygulanabilir alan |
|---|---|---|
equals | Alan değeri hedef değerle tam olarak eşleşir | Tüm alan tipleri |
not_equals | Alan değeri hedef değerle eşleşmez | Tüm alan tipleri |
in | Alan değeri hedef değerlerden biridir | Enum alanları, kullanıcı kimlikleri, etiket kimlikleri |
not_in | Alan değeri hedef değerlerin hiçbiri değildir | Enum alanları, kullanıcı kimlikleri, etiket kimlikleri |
contains | Dizi alanı hedef değeri içerir | assignee_ids, label_ids |
is_empty | Dizi alanının elemanı yok veya alan null | assignee_ids, label_ids |
is_not_empty | Dizi alanının en az bir elemanı var | assignee_ids, label_ids |
greater_than | Sayısal değer hedefi aşıyor | updated_at_age_days, created_at_age_days |
less_than | Sayısal değer hedefin altında | updated_at_age_days, created_at_age_days |
Operatör uyumluluk matrisi
| Alan | equals | not_equals | in | not_in | contains | is_empty | is_not_empty | greater_than | less_than |
|---|---|---|---|---|---|---|---|---|---|
priority | Evet | Evet | Evet | Evet | -- | -- | -- | -- | -- |
state_group | Evet | Evet | Evet | Evet | -- | -- | -- | -- | -- |
assignee_ids | -- | -- | Evet | Evet | Evet | Evet | Evet | -- | -- |
label_ids | -- | -- | Evet | Evet | Evet | Evet | Evet | -- | -- |
created_by | Evet | Evet | Evet | Evet | -- | -- | -- | -- | -- |
updated_at_age_days | Evet | Evet | -- | -- | -- | -- | -- | Evet | Evet |
created_at_age_days | Evet | Evet | -- | -- | -- | -- | -- | Evet | Evet |
VE/VEYA mantık geçişi
Bir kuralda birden fazla koşul olduğunda, bunların nasıl birleşeceğini koşullar bölümünün üstündeki mantık geçişiyle kontrol edersiniz.
VE modu (varsayılan)
Kuralın eşleşmesi için tüm koşulların doğru olması gerekir. İş öğesi her koşulu karşılamalıdır.
Örnek: Kimseye atanmamış acil hataları eşle.
| # | Alan | Operator | Değer |
|---|---|---|---|
| 1 | priority | equals | urgent |
| 2 | label_ids | contains | Bug |
| 3 | assignee_ids | is_empty | -- |
Mantık: VE -- üç koşulun da doğru olması gerekir.
VEYA modu
Kuralın eşleşmesi için en az bir koşulun doğru olması gerekir. İş öğesinin herhangi bir tek koşulu karşılaması yeterlidir.
Örnek: Acil veya süresi geçmiş öğeleri eşle.
| # | Alan | Operatör | Değer |
|---|---|---|---|
| 1 | priority | equals | urgent |
| 2 | updated_at_age_days | greater_than | 14 |
Mantık: VEYA -- koşullardan birinin doğru olması yeterlidir.
UYARI
Mantık geçişi bir kuraldaki tüm koşullara eşit şekilde uygulanır. Tek bir kural içinde VE ve VEYA mantığını karıştıramazsınız. Karmaşık mantığa ihtiyacınız varsa (örneğin, "A VE (B VEYA C)"), her dal için ayrı kurallar oluşturun.
Koşul örnekleri
Örnek 1: Yüksek öncelikli atanmamış öğeler
Atananı olmayan yüksek öncelikli öğeleri takım liderine yönlendir.
| Alan | Operatör | Değer |
|---|---|---|
priority | in | high, urgent |
assignee_ids | is_empty | -- |
Mantık: VE
Örnek 2: Devam eden bayat öğeler
Aktif durumlarda olup yakın zamanda güncellenmemiş öğeleri bul.
| Alan | Operatör | Değer |
|---|---|---|
state_group | equals | started |
updated_at_age_days | greater_than | 7 |
Mantık: VE
Örnek 3: Dış raporlayıcılardan gelen hatalar
Belirli dış paydaşlar tarafından oluşturulan hataları eşle.
| Alan | Operatör | Değer |
|---|---|---|
label_ids | contains | Bug |
created_by | in | (paydaş kullanıcıları seçin) |
Mantık: VE
Örnek 4: Dikkat gerektiren öğeler
Müdahale gerektirebilecek öğeler için geniş filtre.
| Alan | Operatör | Değer |
|---|---|---|
priority | equals | urgent |
assignee_ids | is_empty | -- |
updated_at_age_days | greater_than | 3 |
Mantık: VEYA -- bu koşullardan herhangi biri öğeyi işaretler.
Koşul değerlendirme sırası
Koşullar kuralda listelendikleri sırada değerlendirilir. Ancak, kısa devre değerlendirmesi nedeniyle:
- VE modunda, false döndüren ilk koşulda değerlendirme durur.
- VEYA modunda, true döndüren ilk koşulda değerlendirme durur.
Bu, en seçici (başarısız/başarılı olma olasılığı en yüksek) koşulu ilk sıraya koymanın performansı iyileştirebileceği anlamına gelir, özellikle birçok iş öğesine karşı değerlendirilen kurallar için (zamanlanmış tetikleyiciler gibi).
İPUCU
Ucuz, seçici koşulları ilk sıraya koyun. Örneğin, priority equals urgent kontrolü updated_at_age_days greater_than 30 kontrolünden daha hızlıdır çünkü öncelik kontrolü basit bir enum karşılaştırmasıdır, yaş kontrolü ise tarih aritmetiği gerektirir.
İlgili sayfalar
- Otomasyon Kuralları -- Kuralları oluşturma ve yönetme
- Tetikleyiciler -- Tüm tetikleyici tipleri
- Eylemler -- Koşullar sağlandığında ne olur
- Gelişmiş Kalıplar -- Karmaşık koşul stratejileri
- Yürütme Geçmişi -- Koşul hatalarını ayıklama