BotreamDokümanlar Web sitesi English v0.1.1

Akış Denetimi komutları

step · runtask · stoptask · pausetask · resumetask · queue · humantask

step Step

Komutları adlandırılmış bir adımda gruplar. Kendisi hiçbir şey yapmaz: içindeki komutlar sırayla çalışır.

Blok komutu: step … endstep.

Parametreler

ParametreDeğerVarsayılanAçıklama
--descriptionmetinBu adımın ne yaptığı, ör. "Portala giriş yap"

runtask Run task

Başka bir görevi çağırır. Girişleri --inputName:value, çıkışları --outputNameTo:variable ile eşleyin.

Parametreler

ParametreDeğerVarsayılanAçıklama
--name zorunlumetinÇağrılacak görev: adı veya birden çok klasörde bu adda görev varsa klasör yolu (Finance/Invoices/Import)

Örnekler

runtask --name:"ProcessOrder" --orderId:$currentOrder$ --customerName:$name$ --resultTo:taskResult --totalAmountTo:amount

stoptask Stoptask

Çalıştırmayı burada başarıyla bitirir: sonraki komutlar çalışmaz (finally bölümleri yine çalışır) ve çıktılar döndürülür. --name ile bunun yerine başka bir görevin çalışan çalıştırmalarını durdurur.

Parametreler

ParametreDeğerVarsayılanAçıklama
--messagemetinÇalıştırmanın neden durduğu; günlüğe yazılır
--scopeşunlardan biri: run, taskrunrun: bu görevi çağıran görevler dahil tüm çalıştırma. task: yalnızca bu görev; çağrılan bir görev çağırana döner
--namemetinDurdurulacak başka bir görev: herhangi bir ajanda bekleyen veya çalışan tüm çalıştırmaları (adı veya birden fazla klasörde varsa klasör yolu)
--outputdeğişken adı--name ile: kaç çalıştırmanın durdurulduğunu alan değişken

Örnekler

stoptask --message:"No orders today"            # ends the run, Completed (finally runs, catch does not see it)
stoptask --scope:task                           # ends only this task: a called task returns to its caller
pausetask --message:"Check the invoice" --timeout:600
stoptask --name:"Finance/Import" --output:stopped
pausetask --name:Export
resumetask --name:Export

pausetask Pausetask

Çalıştırmayı biri devam ettirene kadar duraklatır: ajan makinesindeki ilerleme penceresinde Run, web uygulamasında çalıştırmanın sayfasında Resume veya resumetask. --name ile bunun yerine başka bir görevin çalışan çalıştırmalarını duraklatır.

Parametreler

ParametreDeğerVarsayılanAçıklama
--messagemetinÇalıştırma beklerken gösterilir, ör. "Check the invoice, then press Run"
--timeoutsayı0Çalıştırmanın kendiliğinden devam edeceği saniye; 0 devam ettirilene kadar bekler
--namemetinDuraklatılacak başka bir görev: herhangi bir ajanda çalışan tüm çalıştırmaları (resumetask ile veya web uygulamasından devam ettirin)
--outputdeğişken adı--name ile: kaç çalıştırmanın duraklatıldığını alan değişken

resumetask Resumetask

Başka bir görevin duraklatılmış çalıştırmalarını devam ettirir (pausetask ile, ilerleme penceresinde veya web uygulamasında duraklatılanlar).

Parametreler

ParametreDeğerVarsayılanAçıklama
--name zorunlumetinDevam ettirilecek görev: adı veya birden fazla klasörde varsa klasör yolu
--outputdeğişken adıKaç çalıştırmanın devam ettirildiğini alan değişken

queue Queue

İş kuyrukları: bir görevin eklediği ve diğerlerinin yeniden denemelerle tek tek işlediği öğeler (faturalar, siparişler…). Kuyruklar Queues sayfasında oluşturulur.

İşlemler (--action)

--action:add

Bir iş öğesi ekler; --output öğenin kimliğini alır.

ParametreDeğerVarsayılanAçıklama
--queue zorunlumetinİş kuyruğunun adı (Queues sayfası)
--data zorunluherhangi bir değerÖğe: bir kayıt ($invoice$) veya herhangi bir değer
--referencemetinİş anahtarı (fatura numarası…): aynı referansa sahip yeni, işlemde veya tamamlanmış bir öğe varsa tekrar eklenmez
--prioritysayı0Yüksek olan önce çalışır
--outputdeğişken adıSonucu alan değişken
--action:next

Sonraki yeni öğeyi alır (en yüksek öncelikli, en eski önce) ve bu çalıştırma için işlemde olarak işaretler; kuyruk boşsa kayıttaki Found false olur.

ParametreDeğerVarsayılanAçıklama
--queue zorunlumetinİş kuyruğunun adı (Queues sayfası)
--output zorunludeğişken adıKayıt: Found, Id, Reference, Data, Attempt, Priority
--action:complete

Bu çalıştırmanın aldığı öğeyi tamamlandı olarak işaretler.

ParametreDeğerVarsayılanAçıklama
--item zorunlu$değişken$queue --action:next ile alınan iş öğesi veya loop --type:queue döngü değişkeni
--resultherhangi bir değerÖğeyle birlikte saklanan sonuç
--action:fail

Öğeyi başarısız olarak işaretler. Elle yapıldığında bu kesindir (bir iş kararı); --retry:true ile kuyruğun yeniden deneme hakkı kaldığı sürece öğe kuyruğa geri döner.

ParametreDeğerVarsayılanAçıklama
--item zorunlu$değişken$queue --action:next ile alınan iş öğesi veya loop --type:queue döngü değişkeni
--reason zorunlumetinNeden başarısız olduğu, ör. bir catch --error:err içindeki $err.Message$
--retrytrue / falsefalsetrue: teknik bir hata, öğeyi daha sonra yeniden dene (kuyruğun yeniden deneme hakları dahilinde)
--action:count
ParametreDeğerVarsayılanAçıklama
--queue zorunlumetinİş kuyruğunun adı (Queues sayfası)
--statusşunlardan biri: new, inprogress, completed, failedBoşsa tüm öğeler
--output zorunludeğişken adıSonucu alan değişken

Örnekler

queue --action:add --queue:Invoices --data:$invoice$ --reference:$invoice.No$ --priority:1 --output:itemId
queue --action:next --queue:Invoices --output:item
if --type:boolean --value:$item.Found$ --is:false
    log --message:"Nothing to do"
endif
queue --action:complete --item:$item$ --result:$bookingNo$
queue --action:fail --item:$item$ --reason:$err.Message$
queue --action:count --queue:Invoices --status:new --output:pending

humantask Human task

Web uygulamasının Inbox sayfasında bir kişiye sorar: kontrol edilecek, düzeltilecek veya doldurulacak bir form (örneğin ai komutunun okuduğu bir fatura, PDF'inin yanında) ve Approve, Reject gibi düğmeler. Sonuç kaydında alanlar, Outcome (basılan düğme), CompletedBy, CompletedAt, TaskId ve TaskStatus bulunur.

İşlemler (--action)

--action:ask

Görevi oluşturur ve biri tamamlayana kadar bekler; --output sonuç kaydını alır.

ParametreDeğerVarsayılanAçıklama
--title zorunlumetinKişiden istenen, örn. "Check invoice $invoice.InvoiceNo$"
--fields zorunlumetinForm: Ad[:tür], virgülle ayrılmış; türler text (varsayılan), multiline, number, date, boolean, choice(A|B|C). Örn. "InvoiceNo, Total:number, Date:date, Status:choice(Open|Closed)"
--valuesherhangi bir değerBaşlangıç değerleri: bir kayıt ($invoice$) veya {"Total": 120}
--requiredmetinDoldurulması zorunlu alanlar, virgülle ayrılmış
--readonlymetinGösterilen ama değiştirilemeyen alanlar, virgülle ayrılmış
--outcomesmetinDoneDüğmeler, virgülle ayrılmış, örn. "Approve, Reject"; basılan düğme $result.Outcome$ olur
--assigneemetinKimler tamamlayabilir: kullanıcı adları ve rol adları, virgülle ayrılmış; boşsa gelen kutusu olan herkes
--descriptionmetinFormun üstünde gösterilen açıklama
--filemetinAjan makinesinde, formun yanında gösterilen bir dosya: PDF, resim veya metin (10 MB'a kadar) Ajan makinesindeki bir dosya.
--timeoutsayı0Beklenecek dakika; sonra komut hata verir (ask'in görevinin süresi dolar). 0 sınırsız bekler
--output zorunludeğişken adıKayıt: alanlar, Outcome, CompletedBy, CompletedAt, TaskId, TaskStatus
--action:create

Görevi oluşturur ve hemen devam eder; --output, daha sonra wait veya get için görevin kimliğini alır.

ParametreDeğerVarsayılanAçıklama
--title zorunlumetinKişiden istenen, örn. "Check invoice $invoice.InvoiceNo$"
--fields zorunlumetinForm: Ad[:tür], virgülle ayrılmış; türler text (varsayılan), multiline, number, date, boolean, choice(A|B|C). Örn. "InvoiceNo, Total:number, Date:date, Status:choice(Open|Closed)"
--valuesherhangi bir değerBaşlangıç değerleri: bir kayıt ($invoice$) veya {"Total": 120}
--requiredmetinDoldurulması zorunlu alanlar, virgülle ayrılmış
--readonlymetinGösterilen ama değiştirilemeyen alanlar, virgülle ayrılmış
--outcomesmetinDoneDüğmeler, virgülle ayrılmış, örn. "Approve, Reject"; basılan düğme $result.Outcome$ olur
--assigneemetinKimler tamamlayabilir: kullanıcı adları ve rol adları, virgülle ayrılmış; boşsa gelen kutusu olan herkes
--descriptionmetinFormun üstünde gösterilen açıklama
--filemetinAjan makinesinde, formun yanında gösterilen bir dosya: PDF, resim veya metin (10 MB'a kadar) Ajan makinesindeki bir dosya.
--timeoutsayı0Görevin süresinin dolacağı dakika; 0: tamamlanana kadar kalır
--output zorunludeğişken adıSonucu alan değişken
--action:wait

Görev tamamlanana (veya iptal edilene, süresi dolana) kadar bekler; --output sonuç kaydını alır.

ParametreDeğerVarsayılanAçıklama
--id zorunlusayıhumantask --action:create'in verdiği görev kimliği
--timeoutsayı0Beklenecek dakika; sonra komut hata verir (ask'in görevinin süresi dolar). 0 sınırsız bekler
--output zorunludeğişken adıKayıt: alanlar, Outcome, CompletedBy, CompletedAt, TaskId, TaskStatus
--action:get

Görevi beklemeden hemen okur: TaskStatus Open, Completed, Cancelled veya Expired'dır.

ParametreDeğerVarsayılanAçıklama
--id zorunlusayıhumantask --action:create'in verdiği görev kimliği
--output zorunludeğişken adıSonucu alan değişken
--action:cancel

Açık bir görevi Inbox'tan kaldırır.

ParametreDeğerVarsayılanAçıklama
--id zorunlusayıhumantask --action:create'in verdiği görev kimliği

Örnekler

humantask --action:ask --title:"Check invoice $invoice.InvoiceNo$" --fields:"InvoiceNo, Total:number, Date:date, Category:choice(Office|Travel|IT)" --values:$invoice$ --readonly:InvoiceNo --required:"Total, Category" --outcomes:"Approve, Reject" --assignee:"User" --file:$pdf$ --timeout:1440 --output:review
humantask --action:create --title:"Confirm the address" --fields:"Street, City, Note:multiline" --output:taskId
humantask --action:wait --id:$taskId$ --timeout:60 --output:answer
humantask --action:get --id:$taskId$ --output:state
humantask --action:cancel --id:$taskId$
Botream 0.1.1 · Oluşturulma 2026-10-14