Otomasyon Eylemleri
Eylemler, bir kuralın tetikleyicisi çalışıp koşulları sağlandığında ne olacağını tanımlar. Her kuralda bir veya daha fazla eylem olabilir ve bunlar listelendikleri sırada yürütülür. SetGet, durum yönetimi, atamalar, organizasyon, iletişim ve entegrasyonları kapsayan 12 eylem tipi sağlar.
Eylemler nasıl yürütülür
Bir kural eşleştiğinde:
- Eylemler kuralda göründükleri sırada sırayla yürütülür.
- Her eylem bir sonraki başlamadan önce tamamlanır.
- Bir eylem başarısız olursa, aynı kuraldaki sonraki eylemler yine de yürütülür (açık-başarısız davranışı).
- Başarısız eylemler Yürütme Geçmişi sayfasında hata ayrıntılarıyla kaydedilir.
- İş öğesini değiştiren eylemler değişiklikleri hemen veritabanına kaydeder.
UYARI
İş öğesi özelliklerini değiştiren eylemler (durum, öncelik, atananlar, etiketler) diğer otomasyon kurallarını tetikleyebilir. Sonsuz döngüleri önleme rehberliği için Gelişmiş Kalıplar sayfasına bakın.
Eylem özet tablosu
| Eylem | Etki | Parametreler |
|---|---|---|
change_state | Belirtilen duruma taşı | Hedef durum |
change_priority | Öncelik seviyesini ayarla | Hedef öncelik |
assign | Atanan(lar) ekle | Atanacak kullanıcı(lar) |
unassign | Atanan(ları) kaldır | Kaldırılacak kullanıcı(lar) veya tümü |
add_label | Etiket(ler) uygula | Eklenecek etiket(ler) |
remove_label | Etiket(leri) kaldır | Kaldırılacak etiket(ler) |
move_to_cycle | Bir döngüye ekle | Hedef döngü |
move_to_module | Bir modüle ekle | Hedef modül |
add_comment | Otomatik yorum gönder | Yorum metni |
send_notification | Bildirim tetikle | Alıcılar, mesaj |
call_webhook | HTTP isteği yap | URL, metod, başlıklar, gövde |
archive | İş öğesini arşivle | (yok) |
change_state
İş öğesini belirtilen iş akışı durumuna taşır.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
target_state | Durum seçici | Evet | Geçiş yapılacak durum |
Yapılandırma
- Eylem düzenleyicisinde Durum Değiştir seçin.
- Açılır menüden hedef durumu seçin. Açılır menü, projede tanımlı tüm durumları durum grubuna göre gruplandırarak gösterir.
- Eylemi kaydedin.
Örnek kullanım
Bir incelemeci atandığında iş öğelerini "İnceleme Aşamasında" durumuna taşı:
- Tetikleyici:
assignee_changed - Koşul: Eklenen atananın "İncelemeci" rol etiketi var
- Eylem:
change_stateile "İnceleme Aşamasında"na
Yan etkiler
- Durum değiştirme, iş öğesinin tüm abonelerine bildirim gönderir.
- Durum değişikliği iş öğesinin aktivite günlüğüne kaydedilir.
state_changedtetikleyicisi olan diğer kurallar çalışabilir.
Hata işleme
Hedef durum mevcut değilse (örneğin, kural oluşturulduktan sonra silindiyse), eylem başarısız olur ve bir hata kaydeder: "Hedef durum bulunamadı". İş öğesi mevcut durumunda kalır.
change_priority
İş öğesinin önceliğini belirtilen seviyeye ayarlar.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
target_priority | Enum | Evet | none, low, medium, high veya urgent |
Yapılandırma
- Eylem düzenleyicisinde Öncelik Değiştir seçin.
- Açılır menüden hedef önceliği seçin.
- Eylemi kaydedin.
Örnek kullanım
Süresi geçmiş öğeleri Acil'e yükselt:
- Tetikleyici:
due_date_passed - Koşul: Öncelik "Acil" değil
- Eylem:
change_priorityileurgent
Yan etkiler
- Öncelik değişiklikleri abonelere bildirim gönderir.
- Değişiklik aktivite günlüğüne kaydedilir.
priority_changedtetikleyicisi olan kurallar çalışabilir.
Hata işleme
Öncelik değerleri sabit enum'lardır. Bu eylem normal koşullar altında başarısız olmaz. Bir şekilde geçersiz bir öncelik değeri yapılandırılırsa, eylem bir hata kaydeder ve atlar.
assign
Bir veya daha fazla kullanıcıyı iş öğesine atanan olarak ekler.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
user_ids | Kullanıcı kimliklerinin dizisi | Evet | Atanan olarak eklenecek kullanıcılar |
Yapılandırma
- Eylem düzenleyicisinde Ata seçin.
- Bir veya daha fazla çalışma alanı üyesi seçmek için üye seçiciyi kullanın.
- Eylemi kaydedin.
Örnek kullanım
Yeni hataları otomatik olarak triyaj sorumlusuna ata:
- Tetikleyici:
issue_created - Koşul: Etiket "Bug" içeriyor
- Eylem: Triyaj sorumlusunu
assignet
Yan etkiler
- Yeni atananlar otomatik olarak iş öğesinin bildirimlerine abone olur.
- Atama, aktivite günlüğüne kaydedilir.
assignee_changedtetikleyicisi olan kurallar çalışabilir.- Kullanıcı zaten atanmışsa, eylem o kullanıcı için işlem yapmaz (tekrar atama olmaz).
Hata işleme
Belirtilen bir kullanıcı kimliği geçerli bir çalışma alanı üyesine karşılık gelmiyorsa, o kullanıcı atlanır. Bir hata kaydedilir ancak eylem kalan geçerli kullanıcılarla devam eder.
unassign
Bir veya daha fazla kullanıcıyı iş öğesinin atanan listesinden kaldırır.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
user_ids | Kullanıcı kimliklerinin dizisi | Koşullu | Kaldırılacak kullanıcılar. remove_all false ise zorunludur. |
remove_all | Boolean | Hayır | True ise tüm atananları kaldır. Varsayılan: false. |
Yapılandırma
- Eylem düzenleyicisinde Atamayı Kaldır seçin.
- Ya Tüm Atananları Kaldır geçişini açın ya da kaldırılacak belirli üyeleri seçin.
- Eylemi kaydedin.
Örnek kullanım
Bir öğe "İptal Edildi" durumuna taşındığında tüm atananları kaldır:
- Tetikleyici:
state_changed - Koşul: Yeni durum grubu "cancelled"
- Eylem:
unassignileremove_all: true
Yan etkiler
- Kaldırılan atananlar, manuel olarak abonelikten çıkmadıkları sürece iş öğesine abone olarak kalır.
- Atama kaldırma, aktivite günlüğüne kaydedilir.
assignee_changedtetikleyicisi olan kurallar çalışabilir.
Hata işleme
Belirtilen bir kullanıcı şu anda atanmamışsa, eylem o kullanıcı için işlem yapmaz. Hata kaydedilmez.
add_label
Bir veya daha fazla etiketi iş öğesine uygular.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
label_ids | Etiket kimliklerinin dizisi | Evet | Eklenecek etiketler |
Yapılandırma
- Eylem düzenleyicisinde Etiket Ekle seçin.
- Bir veya daha fazla proje etiketi seçmek için etiket seçiciyi kullanın.
- Eylemi kaydedin.
Örnek kullanım
Yükseltilmiş öğeleri görsel bir göstergeyle etiketle:
- Tetikleyici:
priority_changed - Koşul: Yeni öncelik "Acil"
- Eylem:
add_label"Yükseltildi"
Yan etkiler
- Etiket değişiklikleri aktivite günlüğüne kaydedilir.
label_changedtetikleyicisi olan kurallar çalışabilir.- Etiket zaten mevcutsa, eylem işlem yapmaz (tekrar ekleme olmaz).
Hata işleme
Bir etiket kimliği geçerli bir proje etiketine karşılık gelmiyorsa (örneğin, etiket silindiyse), o etiket atlanır ve bir hata kaydedilir.
remove_label
Bir veya daha fazla etiketi iş öğesinden kaldırır.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
label_ids | Etiket kimliklerinin dizisi | Evet | Kaldırılacak etiketler |
Yapılandırma
- Eylem düzenleyicisinde Etiket Kaldır seçin.
- Kaldırılacak etiketleri seçmek için etiket seçiciyi kullanın.
- Eylemi kaydedin.
Örnek kullanım
Triyaj tamamlandıktan sonra "Triyaj Gerekli" etiketini kaldır:
- Tetikleyici:
state_changed - Koşul: Yeni durum "Devam Ediyor"
- Eylem:
remove_label"Triyaj Gerekli"
Yan etkiler
- Etiket değişiklikleri aktivite günlüğüne kaydedilir.
label_changedtetikleyicisi olan kurallar çalışabilir.
Hata işleme
Etiket şu anda iş öğesinde değilse, eylem işlem yapmaz. Hata kaydedilmez.
move_to_cycle
İş öğesini belirtilen bir döngüye ekler.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
cycle_id | Döngü seçici | Evet | Hedef döngü |
Yapılandırma
- Eylem düzenleyicisinde Döngüye Taşı seçin.
- Açılır menüden hedef döngüyü seçin. Aktif ve yaklaşan döngüler listelenir.
- Eylemi kaydedin.
Örnek kullanım
Yeni yüksek öncelikli öğeleri otomatik olarak mevcut sprint'e ekle:
- Tetikleyici:
issue_created - Koşul: Öncelik "Yüksek" veya "Acil"
- Eylem:
move_to_cyclemevcut aktif döngü
Yan etkiler
- İş öğesi döngünün iş öğesi listesinde görüntülenir.
- Döngü ilerleme metrikleri güncellenir.
- İş öğesi zaten hedef döngüdeyse, eylem işlem yapmaz.
Hata işleme
Hedef döngü sona erdiyse veya silindiyse, eylem başarısız olur ve şu kaydı oluşturur: "Hedef döngü bulunamadı veya etkin değil". İş öğesi hiçbir döngüye eklenmez.
İPUCU
Bir döngü seçerken mevcut aktif döngüyü seçin. Kuralın her zaman en son aktif döngüyü hedeflemesini istiyorsanız, her yeni sprint'in başında kuralın döngü seçimini güncelleyin.
move_to_module
İş öğesini belirtilen bir modüle ekler.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
module_id | Modül seçici | Evet | Hedef modül |
Yapılandırma
- Eylem düzenleyicisinde Modüle Taşı seçin.
- Açılır menüden hedef modülü seçin.
- Eylemi kaydedin.
Örnek kullanım
Güvenlikle ilgili öğeleri Güvenlik modülüne yönlendir:
- Tetikleyici:
label_changed - Koşul: Eklenen etiketler "Güvenlik" içeriyor
- Eylem:
move_to_module"Güvenlik Güçlendirme"
Yan etkiler
- İş öğesi modülün iş öğesi listesinde görüntülenir.
- Modül ilerleme metrikleri güncellenir.
- İş öğesi zaten hedef modüldeyse, eylem işlem yapmaz.
Hata işleme
Hedef modül mevcut değilse, eylem başarısız olur ve şu kaydı oluşturur: "Hedef modül bulunamadı". İş öğesi hiçbir modüle eklenmez.
add_comment
İş öğesine otomatik bir yorum gönderir. Yorum, herhangi bir bireysel kullanıcı yerine otomasyon sistemine atfedilir.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
body | String | Evet | Yorum metni. Düz metin ve temel Markdown destekler. |
Yapılandırma
- Eylem düzenleyicisinde Yorum Ekle seçin.
- Metin alanına yorum metnini girin. Biçimlendirme için Markdown kullanabilirsiniz.
- Eylemi kaydedin.
Şablon değişkenleri
Yorum metnine şablon değişkenleri kullanarak dinamik değerler dahil edebilirsiniz:
| Değişken | Açıklama |
|---|---|
{{issue.identifier}} | İş öğesi tanımlayıcısı (örneğin, PROJ-123) |
{{issue.title}} | İş öğesi başlığı |
{{issue.state}} | Mevcut durum adı |
{{issue.priority}} | Mevcut öncelik seviyesi |
{{actor.name}} | Olayı tetikleyen kullanıcının adı |
{{rule.name}} | Otomasyon kuralının adı |
Örnek yorum şablonu:
Bu öğe "{{rule.name}}" otomasyonu tarafından otomatik olarak **{{issue.priority}}** önceliğine yükseltildi.Yan etkiler
- Yorum, iş öğesinin aktivite akışında görüntülenir.
- Aboneler yeni yorum hakkında bilgilendirilir.
comment_addedtetikleyicisi olan kurallar çalışabilir. Döngüleri önlemek için dikkatli olun.
Hata işleme
Yorum gövdesi boşsa, eylem atlanır. Bir hata kaydedilir: "Yorum gövdesi boş".
UYARI
Başka bir kuralda comment_added tetikleyicisi varsa, otomasyon aracılığıyla yorum eklemek o kuralın çalışmasına neden olabilir. Yeniden giriş korumalarının mevcut olduğundan emin olun. Gelişmiş Kalıplar sayfasına bakın.
send_notification
Belirtilen alıcılara uygulama ici bildirim ve isteğe bağlı olarak e-posta bildirimi gönderir.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
recipients | Dizi | Evet | Kime bildirilecek: belirli kullanıcılar, atananlar, aboneler veya proje üyeleri |
message | String | Evet | Bildirim mesaj metni. Şablon değişkenlerini destekler. |
include_email | Boolean | Hayır | Ayrıca e-posta bildirimi gönder. Varsayılan: false. |
Yapılandırma
- Eylem düzenleyicisinde Bildirim Gönder seçin.
- Açılır menüden alıcıları seçin:
- Belirli kullanıcılar: Bireysel üyeleri seçin.
- Atananlar: İş öğesinin tüm mevcut atananları.
- Aboneler: İş öğesine abone tüm kullanıcılar.
- Proje üyeleri: Projenin tüm üyeleri.
- Bildirim mesajını girin.
- İsteğe bağlı olarak E-posta gönder geçişini açın.
- Eylemi kaydedin.
Örnek kullanım
Bir engelleyici oluşturulduğunda mühendislik liderini uyar:
- Tetikleyici:
issue_created - Koşul: Etiket "Engelleyici" içeriyor
- Eylem: Mühendislik liderine
send_notificationile "Yeni engelleyici: {{issue.identifier}} - {{issue.title}}" mesajı
Yan etkiler
- Bildirimler, alıcıların bildirim merkezinde görüntülenir.
- E-posta bildirimleri etkinse ve alıcı e-posta bildirimlerini açıksa e-posta gönderilir.
Hata işleme
Geçerli alıcı bulunamazsa (örneğin, "atananlar" seçili ama iş öğesinin atananı yoksa), eylem hiçbir şey göndermeden tamamlanır. Bir uyarı kaydedilir.
call_webhook
Harici bir URL'ye HTTP isteği yapar. Bu eylem; harici hizmetler, CI/CD işlem hatları, izleme araçları ve özel arka uçlarla entegrasyonu sağlar.
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
url | String | Evet | Uç nokta URL'si |
method | Enum | Evet | GET, POST, PUT, PATCH veya DELETE |
headers | Anahtar-değer çiftleri | Hayır | Özel HTTP başlıkları (örneğin, Authorization) |
body | String (JSON) | Hayır | İstek gövdesi. Şablon değişkenlerini destekler. POST/PUT/PATCH için zorunludur. |
timeout_seconds | Integer | Hayır | İstek zaman aşımı. Varsayılan: 30 saniye. Maksimum: 60 saniye. |
Yapılandırma
- Eylem düzenleyicisinde Webhook Çağır seçin.
- Hedef URL'yi girin.
- HTTP yöntemini seçin.
- Gerekli başlıkları ekleyin (
Authorization: Bearer <token>veyaContent-Type: application/jsongibi). - İstek gövdesini JSON olarak girin. Dinamik veriler için şablon değişkenlerini kullanın.
- Eylemi kaydedin.
Örnek kullanım
Bir öğe Acil'e ulaştığında harici bir izleme hizmetini bilgilendir:
- Tetikleyici:
priority_changed - Koşul: Yeni öncelik "Acil"
- Eylem:
call_webhookPOST ilehttps://monitoring.example.com/api/alerts
Örnek gövde:
{
"event": "urgent_escalation",
"issue_id": "{{issue.identifier}}",
"title": "{{issue.title}}",
"priority": "{{issue.priority}}",
"url": "https://app.setget.dev/{{workspace.slug}}/projects/{{issue.project_id}}/issues/{{issue.id}}"
}Yan etkiler
- HTTP isteği SetGet API sunucusundan yapılır.
- Yanıt durumu ve gövdesi yürütme geçmişine kaydedilir.
- Harici hizmetler, webhook yüküne göre ek işlemler gerçekleştirebilir.
Hata işleme
| Senaryo | Davranış |
|---|---|
| Bağlantı zaman aşımı | Eylem yapılandırılan zaman aşımında başarısız olur. Hata kaydedilir. |
| HTTP 4xx yanıtı | Eylem başarısız olarak işaretlenir. Yanıt gövdesi kaydedilir. |
| HTTP 5xx yanıtı | Eylem başarısız olarak işaretlenir. 30 saniye sonra otomatik bir yeniden deneme yapılır. |
| Geçersiz URL | Eylem hemen başarısız olur. Hata kaydedilir. |
| Ağ erişilemez | Eylem başarısız olur. Hata kaydedilir. |
UYARI
Webhook URL'leri ve başlıkları hassas bilgiler içerebilir (API anahtarları, token'lar). Bu değerler veritabanında şifrelenmiş olarak saklanır ve kaydedildikten sonra arayüzde asla gösterilmez. Webhook yapılandırmalarını sır olarak değerlendirin.
archive
İş öğesini arşivler. Arşivlenen öğeler aktif görünümlerden kaldırılır ancak referans için arşivde korunur.
Parametreler
Bu eylemin parametresi yoktur.
Yapılandırma
- Eylem düzenleyicisinde Arşivle seçin.
- Eylemi kaydedin. Ek yapılandırma gerekli değildir.
Örnek kullanım
Tamamlanan öğeleri 7 gün sonra otomatik arşivle:
- Tetikleyici:
scheduled(her gün saat 02:00'de) - Koşul: Durum grubu "completed" VE
updated_at_age_days7'den büyük - Eylem:
archive
Yan etkiler
- İş öğesi aktif proje görünümlerinden kaldırılır (liste, pano, tablo, takvim).
- İş öğesi projenin arşiv bölümünde görüntülenir.
- Arşiv durumu aktivite günlüğüne kaydedilir.
- İş öğesi arşivden manuel olarak geri yüklenebilir.
Hata işleme
İş öğesi zaten arşivlenmişse, eylem işlem yapmaz. Hata kaydedilmez.
Birden fazla eylemi birleştirme
Tek bir kuralda birden fazla eylem olabilir. Bunlar sırayla yürütülür. Yaygın çoklu eylem kalıpları:
| Kalip | Eylemler |
|---|---|
| Triyaj yönlendirme | change_state ile Triyaj'a, triyaj sorumlusunu assign et, add_label "Triyaj Gerekli" |
| Yükseltme | change_priority ile Acil'e, add_label "Yükseltildi", lidere send_notification |
| Tamamlama temizliği | remove_label "Devam Ediyor", add_comment "Otomasyon tarafından tamamlandı", archive |
| Harici senkronizasyon | change_state, harici takipçiyle senkronizasyon için call_webhook |
İPUCU
Sıra önemlidir. Bir eylem önceki bir eylemin sonucuna bağımlıysa (örneğin, yeni durum hakkında bildirim göndere), durum değiştirme eylemini ilk sıraya koyun.
İlgili sayfalar
- Otomasyon Kuralları -- Kuralları oluşturma ve yönetme
- Tetikleyiciler -- Kural yürütmesini başlatan olaylar
- Koşullar -- Hangi öğelerin eşleşeceğini filtreleme
- Zamanlama -- Zaman tabanlı kural yürütme
- Yürütme Geçmişi -- Eylem sonuçlarini inceleme
- Gelişmiş Kalıplar -- Zincirleme, döngüler ve çatışmalar