Tetikleyiciler
Bir tetikleyici, bir şey olduğunda bir görevi başlatır; tıpkı bir zamanlamanın belirli bir zamanda yaptığı gibi:
| Tetikleyici | Görevi şu durumda başlatır | İzleyen |
|---|---|---|
| File | bir klasörde bir dosya oluşturulduğunda (veya değiştiğinde, silindiğinde) | görevi de çalıştıran ajan |
| bir posta kutusuna koşula uyan bir posta geldiğinde | görevi de çalıştıran ajan | |
| Webhook | başka bir sistem tetikleyicinin web adresini çağırdığında | sunucu; görev herhangi bir boştaki ajanda, bir grupta veya tek bir ajanda çalışır |
| Hotkey | biri ajan makinesinde bir tuş kombinasyonuna bastığında | görevi de çalıştıran ajan (tepsi uygulaması) |
Zamanlamalar gibi tetikleyiciler de görevin genel sürümünü, tetikleyiciyi oluşturan kullanıcı adına çalıştırır (o kullanıcının kasa erişimi geçerlidir). Bir tetikleyicinin başlattığı çalıştırmalar, çalıştırma sayfalarında Started by altında tetikleyicinin adını gösterir.
Görevdeki olay
Olayın ayrıntıları göreve trigger girdisi olarak, bir record şeklinde ulaşır. Kullanmak için bu girdiyi tanımlayın:
input --name:trigger --type:record --required:false
log --message:"New file: $trigger.Path$"
| Tetikleyici | $trigger$ alanları |
|---|---|
| File | Path, Name, Folder, Extension, Size (bayt), Event (created, changed veya deleted), Time |
Id, From, FromName, To, Cc, Subject, Date, Body, HtmlBody, Attachments (adlar), Folder |
|
| Webhook | Body (JSON record veya liste olarak; diğer gövdeler metin olarak), Query (adresin parametreleri), ContentType, ReceivedAt |
| Hotkey | Keys, Machine, UserName, Time |
Bir postanın Id değeri mail komutuyla kullanılabilir; örneğin eklerini kaydetmek için:
input --name:trigger --type:record --required:false
mail --action:saveattachments --server:imap.company.com --credential:$mailbox$ --id:$trigger.Id$ --destination:C:\In\$trigger.Id$
Tetikleyici, görevin diğer girdilerine de sabit değerler verebilir (tetikleyici formunda INPUTS altında).
Tetikleyici oluşturma
Triggers sayfasını açın (Manage triggers yetkisi, varsayılan olarak Developer) ve New trigger'a tıklayın. Görevi neyin başlatacağını seçin, ardından doldurun:
| Alan | Açıklama |
|---|---|
| Name | Örneğin New invoices. |
| Task | Çalıştırılacak görev. Genel sürümü olmayan görevler seçilemez. |
| Agent | File, mail ve hotkey tetikleyicileri: izleyen ve görevi çalıştıran ajan. Webhook: Any available agent, bir ajan grubu veya tek bir ajan. |
| Active | Tetikleyicinin görevi başlatıp başlatmayacağı. |
File tetikleyicileri
| Alan | Açıklama |
|---|---|
| Folder | Ajan makinesinde veya erişebildiği bir paylaşımda (\\server\share\in). %USERPROFILE% gibi ortam değişkenleri çalışır. |
| Files | *.pdf gibi bir filtre (varsayılan *.*). |
| When a file is | Created (varsayılan; filtreye uyan bir ada yeniden adlandırılan dosya da yeni sayılır), Changed veya Deleted. |
| Subfolders too | İçindeki klasörleri de izler. |
Yeni bir dosya tamamlandığında gönderilir: açılabildiğinde ve boyutu artık büyümediğinde. Böylece büyük bir kopyalama görevi yarıda başlatmaz. Henüz var olmayan bir klasör her 30 saniyede bir yeniden aranır; bu arada tetikleyici sorunu gösterir.
Mail tetikleyicileri
| Alan | Açıklama |
|---|---|
| IMAP server, Port, Security | Örneğin outlook.office365.com, 993, SSL/TLS. |
| Sign-in | User name and password veya bir uygulama kaydıyla Microsoft 365 (OAuth): bu durumda ayrıca Tenant ve Mailbox adresi girilir; kimlik bilgisi, kullanıcı adı olarak uygulama (client) kimliğini, parola olarak istemci gizli anahtarını tutar (mail komutundaki gibi). |
| Vault, Credential | Posta kutusu parolasının (veya uygulama gizli anahtarının) tutulduğu yer. |
| Mail folder | Varsayılan INBOX. |
| From contains, Subject contains | İsteğe bağlı filtreler. |
| Check every | 15 ile 3600 saniye arası (varsayılan 60). |
Koşula uyan her okunmamış posta görevi bir kez başlatır ve okundu olarak işaretlenir. Postalar en eskiden başlayarak, her denetimde en fazla 20 tane alınır. Oturum açma sorunları tetikleyicide gösterilir (her denetimde değil, bir kez).
Webhook tetikleyicileri
Bir webhook tetikleyicisi oluşturulduğunda Botream, adresini ve bir token değerini bir kez gösterir. Diğer sistemler onu POST ile çağırır:
curl -X POST "https://rpa-server/api/hooks/12" \
-H "X-Botream-Token: <token>" \
-H "Content-Type: application/json" \
-d "{\"orderNo\": \"A-17\"}"
- Token,
X-Botream-Tokenbaşlığında veya adreste?token=olarak gönderilir. Yanlış veya eksik token, tetikleyici yokmuş gibi404döndürür. - Yanıt
202ve{"status": "Started", "executionId": "1042"}ya da hiçbir ajan boş değilse"Queued"olur; kapatılmış bir tetikleyici409döndürür. - Tetikleyici menüsündeki New token token'ı değiştirir; eskisi hemen çalışmaz olur.
- Adres oturum açma gerektirmez. Onu yalnızca çağıracak sistemlerle, tercihen HTTPS üzerinden paylaşın.
Hotkey tetikleyicileri
Key combination alanına tıklayın ve tuşlara basın, örneğin Ctrl+Shift+F9. Bir kombinasyon Ctrl, Alt, Shift veya Win içermelidir; F tuşları, Pause ve Print Screen tek başına kullanılabilir. Bir ajanın iki hotkey tetikleyicisi aynı kombinasyonu paylaşamaz ve başka bir programın tuttuğu bir kombinasyon reddedilir (tetikleyici nedenini gösterir).
Hotkey'ler, ajan makinesinde biri oturum açmışken ve Botream Agent tepsi uygulaması çalışırken çalışır.
Ajan meşgul olduğunda
Bir ajan aynı anda bir görev çalıştırır. Boş ajan bulamayan bir olay sunucuda bekler ve tetikleyici, bekleyen olay sayısıyla birlikte Waiting for an agent gösterir. Sunucu birkaç saniyede bir, en eski olaydan başlayarak yeniden dener. Olaylar en fazla bir saat (ve tetikleyici başına en fazla 1.000 olay) bekler; sonra bırakılır ve tetikleyici bunu belirtir.
Bir ajanın sunucuya ulaşamadığı sırada fark ettiği olaylar ajanda bekler ve bağlantı yeniden kurulduğunda gönderilir (en fazla bir saat).
Triggers sayfası
Her tetikleyici neyi dinlediğini, ajanı, Last event durumunu (çalıştırmaya bağlantıyla Started, Waiting for an agent veya üzerine gelindiğinde nedeniyle Problem), kaç çalıştırma başlattığını ve bir Active anahtarını gösterir. Tetikleyicileri oluşturmak, değiştirmek, silmek ve token yenilemek denetim kaydına yazılır.