Skip to content

Tetikleyiciler

Her grafik tam olarak bir tetikleyici düğümüyle başlar. Bir tetikleyici kendisi hiçbir mantık çalıştırmaz, yalnızca grafiğin geri kalanının ne zaman yeni bir çalışma alacağına karar verir.

Hızlı bakış

  1. Tuvale bir tetikleyici düğümü sürükle; o, ilk düğümdür ve giriş konnektörü yoktur.
  2. Alan alıyorsa yapılandır (bir zamanlamanın ritmi, izlenecek bir klasör).
  3. Otomasyonu aktifleştir ki o tetikleyiciyi dinlemeye başlasın.
  4. Ya da bunların hepsini atla ve grafiği tetikleyiciden bağımsız olarak bir kez çalıştırmak için istediğin an Test'e bas.

Ayrıntılı başvuru

Manuel

Manuel başlat düğümünün alanı yoktur. Oluşturucunun Test düğmesinin kullandığı şey budur: mevcut taslağı yayınla, sonra hemen bir çalışma kuyruğa al.

Zamanlanmış

Zamanlanmış, ayarladığın bir ritimde tetiklenir.

AlanSeçenekler
SıklıkAralıklı, Günlük, Haftalık veya Cron
Her (dakika)Yalnızca Aralıklı modunda kullanılır
Cron ifadesiYalnızca Cron modunda kullanılır; standart 5 alanlı bir ifade (dakika saat ayın-günü ay haftanın-günü), örneğin hafta içi 09:00 için 0 9 * * 1-5
Saat dilimiYalnızca Cron modunda kullanılır; Europe/Istanbul gibi bir IANA adı. Boş bırakılırsa ifade sunucunun kendi saatiyle eşleştirilir

Aktif bir zamanlanmış otomasyon, arka planda düzenli bir döngüde denetlenir; uygulamayı açık tutmana gerek yok. Aralıklı, Günlük ve Haftalık modları, otomasyonun kendi son tetiklenme zamanına göre tetiklenir. Cron modu ise çalışan bir "sıradaki zaman" işaretçisi tutar ve kaçırılan bir dakikayı (bir dağıtım, bir yeniden başlatma, yavaş bir tık) sessizce kaybetmek yerine, fark eder etmez bir kez tetikleyerek telafi eder; aynı kaçırılan pencere için asla iki kez tetiklenmez.

Gelen webhook

Gelen webhook, her otomasyona benzersiz bir gelen URL verir, /api/workflow/hook/<automation id>, ve GET veya POST isteğiyle çağrıldığında bir çalışma başlatır. Yalnızca otomasyonun durumu Aktif iken tetiklenir.

Oluşturucu şu an bu URL'i senin için göstermez ya da kopyalamaz; düğümün kendi denetçisinde yalnızca HMAC gizli anahtarı alanı vardır. Kullanmak için, sen (ya da ekibindeki bir geliştirici) otomasyonun id'sine ihtiyaç duyarsın; bunu, oluşturucu açıkken uygulamanın zaten yaptığı ağ isteklerinden okuyabilir ve sabit /api/workflow/hook/ yoluyla kendin birleştirebilirsin.

Tasarım ve çalışma alanı olayları

Bunlar, uygulamada başka bir yerde bir şey olduğunda tetiklenir. Bugün, Tasarım güncellendi, bir tasarım her kaydedildiğinde otomatik tetiklenecek şekilde bağlıdır. Geri kalanı şimdi yapılandırılabilir; uygulamanın kendi aksiyonlarının daha fazlası, ilgili yüzeyler geliştirildikçe bunlara bağlanır.

DüğümŞu durumda tetiklenir
Tasarım oluşturulduYeni bir tasarım oluşturulur
Tasarım güncellendiBir tasarım kaydedilir
Tasarım paylaşıldıBir tasarım paylaşılır veya yayınlanır
Tasarım indirildiBir tasarım indirilir
Parça etiketlendiBir parçaya etiket eklenir (isteğe bağlı olarak tek bir etikete filtrelenir)
Marka uygulandıBir tasarıma marka kiti uygulanır
Varlık yüklendiMedya kütüphanesine bir dosya eklenir
AI üretimi bittiBir AI üretimi tamamlanır
Klasöre yeni işSeçtiğin bir klasöre bir proje eklenir

Olay köprüsü

Herhangi bir tetikleyici türü, çalışma alanınla sınırlı, genel ve kimlik doğrulamalı bir API çağrısıyla da başlatılabilir: bir triggerType ve isteğe bağlı bir yük. Yukarıdaki tasarım güncelleme kancası perde arkasında bu şekilde tetiklenir; kendi entegrasyonların da aynı yolu kullanarak tetikleyebilir.

Birden çok otomasyon, tek bir tetikleyici türü

Birden fazla aktif otomasyon aynı tetikleyici türünü kullanabilir. Örneğin bir tasarımın kaydedilmesi, çalışma alanındaki her aktif "Tasarım güncellendi" otomasyonunu aynı anda başlatabilir; her biri kendi geçmişiyle bağımsız çalışır.

Nasıl kullanılır

Adım adım: hafta içi sabah cron zamanlaması

  1. Boş bir grafiğe bir Zamanlanmış tetikleyici sürükle; grafiğin tek tetikleyicisi olmalı.
  2. Sıklık'ı Cron olarak ayarla.
  3. Cron ifadesi alanına 0 9 * * 1-5 yaz (09:00, Pazartesiden Cumaya).
  4. Saat dilimini kendininkine ayarla, örneğin Europe/Istanbul, böylece 09:00 sunucunun saatini değil senin yerel sabahını ifade eder.
  5. Ardına en az bir aksiyon düğümü ekle (yalnız bir tetikleyici Doğrula'yı geçemez), sonra Doğrula ve Aktifleştir.
  6. İlk aktifleştirme hemen tetiklemek yerine zamanlamanın sıradaki olayını kurar; ondan sonra sen bir daha dokunmadan her eşleşen sabah tetiklenir.

Adım adım: imza doğrulamalı bir webhook

  1. Bir Gelen webhook tetikleyicisi sürükle, HMAC gizli anahtarı olarak uzun ve rastgele bir dize gir ve bir kopyasını güvenli bir yerde sakla; unutulmuş bir gizli anahtarı sonradan ortaya çıkarmanın yolu yoktur, yalnızca yenisiyle üzerine yazabilirsin.
  2. Ardına en az bir aksiyon ekle, Doğrula, sonra Aktifleştir; gelen URL yalnızca otomasyonun durumu Aktif olunca çağrıları kabul eder.
  3. Otomasyonun id'sini bul (yukarıya bak) ve gönderen sisteme /api/workflow/hook/<id> URL'ini ver, ham JSON istek gövdesini gizli anahtarınla imzalayıp X-Signature: sha256=<hex hmac> olarak gönderme talimatıyla birlikte.
  4. Gönderen sistemin bir "test olayı gönder" özelliği varsa onu kullan; yoksa elle bir istek gönder ve gerçek bir olayı beklemek yerine yeni bir çalışma için Aktivite görünümünü kontrol et.

Adım adım: kendi kodundan bir tetikleyiciyi tetikleme

  1. Herhangi bir tetikleyici türü, genel olay köprüsü üzerinden başlatılabilir: /api/workflow/events adresine, { "triggerType": "trigger.asset_uploaded", "payload": { "assetId": "..." } } gibi bir gövdeyle kimlik doğrulamalı bir POST.
  2. Bu, uygulamanın kendi Tasarım güncellendi kancasının içeride kullandığı yolun aynısıdır, bu yüzden yerleşik editörün henüz otomatik tetiklemediği bir olayı bağlamanın kanıtlanmış bir yoludur.
  3. Tek bir çağrı, tetikleyicisi o türle eşleşen çalışma alanındaki her AKTİF otomasyonu tetikler; her biri, başlangıç bağlamı olarak senin yükünle beslenen kendi bağımsız çalışmasını alır.

Sorun giderme

  • Tetikleyicimin olayı oldu ama hiçbir çalışma başlamadı. Bugün uygulamanın kendisinden otomatik tetiklenecek şekilde bağlı olan yalnızca Tasarım güncellendi'dir. Diğer tasarım ve çalışma alanı olay tetikleyicileri, bir kez tetiklendiğinde tümüyle işlevseldir ama uygulamada, yukarıdaki olay köprüsü üzerinden kendi entegrasyonun dışında henüz onları çağıran bir şey yoktur. O bağlantıyı beklerken grafiği tetikleyiciden bağımsız çalıştırmak için Test'i kullan.
  • Otomasyon Aktif ama bir webhook çağrısı 404 alıyor. Durumun gerçekten Aktif olduğunu doğrula, Duraklatıldı ya da Taslak değil, çünkü webhook URL'ini yalnızca Aktif bir otomasyon çözer, ayrıca URL'deki id'nin tam olarak doğru olduğunu iki kez kontrol et.
  • Bir webhook çağrısı 401 alıyor. Tetikleyicinin yapılandırılmış bir HMAC gizli anahtarı vardır ve çağrının imzası ya gönderilmemiş ya da eşleşmemiştir. İmza, tam olarak ham istek gövdesi üzerinden hesaplanır, bu yüzden JSON'u imzalamadan önce yeniden biçimlendirmek ya da yeniden serileştirmek, içerik birebir aynı görünse bile denetimi bozar.
  • Olay tetikleniyor ama bir çalışma her seferinde başlamıyor. Otomasyonun Ayarlar bölümünde bir Debounce penceresi ve tetikleyici düğümünün kendi bekleme alanını (olay tetikleyicilerinde) kontrol et; ikisinden biri, öncekinin ardından soğuma süresine denk gelen bir tetiklemeyi sessizce düşürür.
  • Zamanlanmış bir otomasyon belirli saatlerde sessizleşiyor. Ayarlar'da Sessiz saatler'i kontrol et; bu pencere içinde (otomasyonun kendi saat diliminde) tetiklenecek olan bir tetikleyici, düşürülmek ya da kuyruğa alınmak yerine ertelenir, bu yüzden pencere bittiğinde geriye dönük olarak tetiklenmez.
  • İki otomasyon bir tetikleyici türünü paylaşıyor ama yalnızca biri çalıştı. Yalnızca biri Aktif idiyse ya da diğerinin tetikleyici düğümündeki kendi etiket/klasör filtresi bu belirli olayla eşleşmediyse, bu beklenen bir durumdur.

İpuçları

Grafik başına bir tetikleyici

Doğrulama, sıfır tetikleyicisi olan ya da birden fazla tetikleyicisi olan bir grafiği işaretler; tam olarak bir tane tut.

Webhook'lar yalnızca aktifken tetiklenir

Duraklatıldı ya da Taslak durumundaki bir otomasyona yapılan gelen webhook çağrısı yok sayılır. Önce onu aktifleştir.

İlgili