Skip to content

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:

  1. Eylemler kuralda göründükleri sırada sırayla yürütülür.
  2. Her eylem bir sonraki başlamadan önce tamamlanır.
  3. 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ışı).
  4. Başarısız eylemler Yürütme Geçmişi sayfasında hata ayrıntılarıyla kaydedilir.
  5. İş öğ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

EylemEtkiParametreler
change_stateBelirtilen duruma taşıHedef durum
change_priorityÖncelik seviyesini ayarlaHedef öncelik
assignAtanan(lar) ekleAtanacak kullanıcı(lar)
unassignAtanan(ları) kaldırKaldırılacak kullanıcı(lar) veya tümü
add_labelEtiket(ler) uygulaEklenecek etiket(ler)
remove_labelEtiket(leri) kaldırKaldırılacak etiket(ler)
move_to_cycleBir döngüye ekleHedef döngü
move_to_moduleBir modüle ekleHedef modül
add_commentOtomatik yorum gönderYorum metni
send_notificationBildirim tetikleAlıcılar, mesaj
call_webhookHTTP isteği yapURL, metod, başlıklar, gövde
archiveİş öğesini arşivle(yok)

change_state

İş öğesini belirtilen iş akışı durumuna taşır.

Parametreler

ParametreTipZorunluAçıklama
target_stateDurum seçiciEvetGeçiş yapılacak durum

Yapılandırma

  1. Eylem düzenleyicisinde Durum Değiştir seçin.
  2. 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.
  3. 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_state ile "İ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_changed tetikleyicisi 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

ParametreTipZorunluAçıklama
target_priorityEnumEvetnone, low, medium, high veya urgent

Yapılandırma

  1. Eylem düzenleyicisinde Öncelik Değiştir seçin.
  2. Açılır menüden hedef önceliği seçin.
  3. 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_priority ile urgent

Yan etkiler

  • Öncelik değişiklikleri abonelere bildirim gönderir.
  • Değişiklik aktivite günlüğüne kaydedilir.
  • priority_changed tetikleyicisi 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

ParametreTipZorunluAçıklama
user_idsKullanıcı kimliklerinin dizisiEvetAtanan olarak eklenecek kullanıcılar

Yapılandırma

  1. Eylem düzenleyicisinde Ata seçin.
  2. Bir veya daha fazla çalışma alanı üyesi seçmek için üye seçiciyi kullanın.
  3. Eylemi kaydedin.

Örnek kullanım

Yeni hataları otomatik olarak triyaj sorumlusuna ata:

  • Tetikleyici: issue_created
  • Koşul: Etiket "Bug" içeriyor
  • Eylem: Triyaj sorumlusunu assign et

Yan etkiler

  • Yeni atananlar otomatik olarak iş öğesinin bildirimlerine abone olur.
  • Atama, aktivite günlüğüne kaydedilir.
  • assignee_changed tetikleyicisi 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

ParametreTipZorunluAçıklama
user_idsKullanıcı kimliklerinin dizisiKoşulluKaldırılacak kullanıcılar. remove_all false ise zorunludur.
remove_allBooleanHayırTrue ise tüm atananları kaldır. Varsayılan: false.

Yapılandırma

  1. Eylem düzenleyicisinde Atamayı Kaldır seçin.
  2. Ya Tüm Atananları Kaldır geçişini açın ya da kaldırılacak belirli üyeleri seçin.
  3. 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: unassign ile remove_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_changed tetikleyicisi 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

ParametreTipZorunluAçıklama
label_idsEtiket kimliklerinin dizisiEvetEklenecek etiketler

Yapılandırma

  1. Eylem düzenleyicisinde Etiket Ekle seçin.
  2. Bir veya daha fazla proje etiketi seçmek için etiket seçiciyi kullanın.
  3. 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_changed tetikleyicisi 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

ParametreTipZorunluAçıklama
label_idsEtiket kimliklerinin dizisiEvetKaldırılacak etiketler

Yapılandırma

  1. Eylem düzenleyicisinde Etiket Kaldır seçin.
  2. Kaldırılacak etiketleri seçmek için etiket seçiciyi kullanın.
  3. 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_changed tetikleyicisi 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

ParametreTipZorunluAçıklama
cycle_idDöngü seçiciEvetHedef döngü

Yapılandırma

  1. Eylem düzenleyicisinde Döngüye Taşı seçin.
  2. Açılır menüden hedef döngüyü seçin. Aktif ve yaklaşan döngüler listelenir.
  3. 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_cycle mevcut 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

ParametreTipZorunluAçıklama
module_idModül seçiciEvetHedef modül

Yapılandırma

  1. Eylem düzenleyicisinde Modüle Taşı seçin.
  2. Açılır menüden hedef modülü seçin.
  3. 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

ParametreTipZorunluAçıklama
bodyStringEvetYorum metni. Düz metin ve temel Markdown destekler.

Yapılandırma

  1. Eylem düzenleyicisinde Yorum Ekle seçin.
  2. Metin alanına yorum metnini girin. Biçimlendirme için Markdown kullanabilirsiniz.
  3. Eylemi kaydedin.

Şablon değişkenleri

Yorum metnine şablon değişkenleri kullanarak dinamik değerler dahil edebilirsiniz:

DeğişkenAçı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_added tetikleyicisi 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

ParametreTipZorunluAçıklama
recipientsDiziEvetKime bildirilecek: belirli kullanıcılar, atananlar, aboneler veya proje üyeleri
messageStringEvetBildirim mesaj metni. Şablon değişkenlerini destekler.
include_emailBooleanHayırAyrıca e-posta bildirimi gönder. Varsayılan: false.

Yapılandırma

  1. Eylem düzenleyicisinde Bildirim Gönder seçin.
  2. 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.
  3. Bildirim mesajını girin.
  4. İsteğe bağlı olarak E-posta gönder geçişini açın.
  5. 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_notification ile "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

ParametreTipZorunluAçıklama
urlStringEvetUç nokta URL'si
methodEnumEvetGET, POST, PUT, PATCH veya DELETE
headersAnahtar-değer çiftleriHayırÖzel HTTP başlıkları (örneğin, Authorization)
bodyString (JSON)Hayırİstek gövdesi. Şablon değişkenlerini destekler. POST/PUT/PATCH için zorunludur.
timeout_secondsIntegerHayırİstek zaman aşımı. Varsayılan: 30 saniye. Maksimum: 60 saniye.

Yapılandırma

  1. Eylem düzenleyicisinde Webhook Çağır seçin.
  2. Hedef URL'yi girin.
  3. HTTP yöntemini seçin.
  4. Gerekli başlıkları ekleyin (Authorization: Bearer <token> veya Content-Type: application/json gibi).
  5. İstek gövdesini JSON olarak girin. Dinamik veriler için şablon değişkenlerini kullanın.
  6. 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_webhook POST ile https://monitoring.example.com/api/alerts

Örnek gövde:

json
{
  "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

SenaryoDavranış
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 URLEylem hemen başarısız olur. Hata kaydedilir.
Ağ erişilemezEylem 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

  1. Eylem düzenleyicisinde Arşivle seçin.
  2. 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_days 7'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ı:

KalipEylemler
Triyaj yönlendirmechange_state ile Triyaj'a, triyaj sorumlusunu assign et, add_label "Triyaj Gerekli"
Yükseltmechange_priority ile Acil'e, add_label "Yükseltildi", lidere send_notification
Tamamlama temizliğiremove_label "Devam Ediyor", add_comment "Otomasyon tarafından tamamlandı", archive
Harici senkronizasyonchange_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