こんにちは、最近現場先でUiPathを使用している者です。
お聞きしたいことがあるのですが、ロボット自体の名前を取得させることは可能でしょうか?
または、ロボット自身に自分の環境が何なのかを分からせる方法はないでしょうか。
答えを持っている方がいましたらご教示していただけるとありがたいです。
宜しくお願い致します。
プロジェクトフォルダ内に、project.jsontoiuファイルがあり、その中にロボット名が格納されています。ですので、
1)テキストファイルを読み込む
2)JSON をデシリアライズ(JSON As JObject)
3)JSON.Item(“name”).ToString
で取得できます。
JSON関係のアクティビティは、「パッケージを管理」から、UiPath.Web.Activitiesをインストールする必要があります
ご返信いただきありがとうございます。
ただいま確認したところ、name にはプロジェクト名が記載されており、ロボット名ではありませんでした。
実際に行いたいのは、orchestrator記載のロボット名なのですが、他にいい案はございますでしょうか。せっかくいただいた貴重なご意見で申し訳ないのですが、また何か答えがあるようでしたらご教示いただけると有難いです。
OCにあるswaggerから情報取れないでしょうか?
https://XXXXXXXX.com/swagger/ui/index#!/Robots/Robots_GetRobots
すべてのロボットになってしまいますが、管理目的ならこれが楽です。
ご回答ありがとうございます!!
いただいた情報をもとに早速実施してみます。
ご教示いただきありがとうございました!
もしトライしてうまくいったら、解決策にチェックをいれてくださいね
承知しました!
こんにちは。
わたしも以前調べたことがあるのですが、スッキリやるやり方は見つかりませんでした。
(そういうのを取得するアクティビティがあってもイイと思うんですけどね。。)
ただ RobotとOrchestratorのやりとり(電文)をつぶさに見てみると、OCへ接続を開始したときの戻り電文に「ロボット名」を受け取るやりとりがありました。
(はなっち!さんのいうSwaggerのAPI仕様上にもあります)
POST https://[OCサーバ]/api/robotsservice/BeginSession HTTP/1.1
X-ROBOT-LICENSE: 4ecc2e03-xxxx ← マシンキー
X-ROBOT-MACHINE-ENCODED: xxx ← マシン名(のBase64エンコードされたモノ)
Accept: application/json
X-ROBOT-VERSION: 19.10.2.0
X-UIPATH-Localization: ja
Content-Type: application/json; charset=utf-8
{"RobotKey":null,"UserName":"xx\\xxx"} <- PCアカウント
やってみるとわかりますが、戻り電文に「robotName」があり、それが「ロボット自体の名前」です。
なので少なくとも、PC上のマシンキーやマシン名やPCアカウントがわかれば、取得できますね。
正攻法で取得する方法は、繰り返しますがちょっとわかりませんでした。
BeginSessionという名前からもわかるとおり、なんかの副作用があるかもしれませんので、使用する際は at your own risk で、、。
先日、その方法で試してみてできたので、ひとまずはしのげました!!
ご教示いただきありがとうございました!!
あ、よかったです。。
ご丁寧にご返答ありがとうございました!
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.