RPAエンジニアの雑記

RPA(Blue Prism)について色々記載してます。

(BluePrism)ワークキューを動的に作成する

こんばんは、おむおむです。

 

最近諸々と忙しくなってきました。
負けずに書き続けていきますぜイエイ

 

※宣伝
2/1 (土) 13:00ぐらいから@新宿でわちゃわちゃするので
暇な方はMeetsupしましょう

 

 

やりたいこと

「いちいちぽちぽちしてワークキューを作るのが面倒!」
「もはやExcelファイルごとにワークキュー作りたい!」

という要望もあるでしょう。

 

面倒がるな

設計を見直せ

「漫画 煽り」の画像検索結果

 

それでもどうしてもワークキュー作りまくりたい!というあなたのためのソリューションがこちら!

 

AutomateC.exeを使う

AutomateC.exeは意外とできることが多いというのは周知のとおり。

 

www.ebocean.work

 

実はワークキューの作成もできたりします。
コマンドは以下の通り。

>C:\Program Files\Blue Prism Limited\Blue Prism Automate\AutomateC.exe" /createqueue (キーフィールド名) (実行中かどうかのフラグ) (最大試行回数) /queuename (ワークキュー名) /user (ユーザ名) (パスワード)

※SSO環境ならば/user以下を「/sso」としてください。

 

な、長い。。。

 

ではこいつでどうやってプロセス内でワークキューを作るんだ!

 

Run Process Until Ended

です。「Utility - Environment」の中にあります。

「Application」でAutomateCのフルパスを指定し、
あとはうまいこと「Arguments」をデータアイテムなんかと
がっちゃんこしてあげるとよいのです。

 

例えば!以下のようなプロセスを作ってみました。

1. Utility - File ManaementのGet Filesアクションで特定のフォルダ内のファイルを取得。

2. ファイル数分だけ以下の内容のワークキューを作成する。 

・キュー名:1.で取得したファイル名
・キーフィールド名:フィールド1
・実行中か一時停止中か:実行中(True)
・最大試行回数:3回

 

この場合、適宜データアイテムを交えて「Argumennts」を作ってみるとこんな感じ。

"/createqueue """&[Key Field]&""" true "&[Max Attempts]&" /queuename """&[Files.Name]&""" /user "&[User Name]&" "&[Password]

※フィールド名やファイル名にスペースが入っている場合を考慮して
 ちょいちょいダブルクォーテーションで囲っています。

 

f:id:newgraduate19:20200130223435p:plain

 

動かしてみる

 

f:id:newgraduate19:20200131072020g:plain

 

やったぜ

 

まとめ

・ワークキューをコマンドラインからポコポコ作ることは可能
・だけどこの方法を取っている段階で設計がおかしい可能性が高いから
 ちゃんと振り返り立ち返って。。。

 

次はメール送信とかGoogle Sheetsに関する記事を書きたい(書くとは言ってない)