ロボット名取得方法

初投稿です。よろしくお願いします。

ロボット名を取得するアクティビティ、または、実装方法を教えて下さい。

ロボット毎の設定ファイル(config.xlsx)を、下記のようにロボット毎のフォルダに格納しています。
<L:<robotName>\config.xlsx>

ロボット毎にファイルパスを変数 myConfig (type String) を実装することを回避したい為、
自分自身のロボット名を取得したいのですが、解決の仕方が分かりません。
実行ログ1行目に出力されている文字列であるのに、取得できず困っています。

一応はネット等を参考に、下記の通り作業し、解決できるかと思ったのですが、
最後の最後に遅延が生じてしまい(9参照)、お手上げ状態です。
※こちらに対する解決方法でも良いです。

=====================
[A] 開発Windows端末上でロボット実装
(1) robot_A にパッケージ “UiPath.WebAPI.Activities = 1.4.0” をインストール

(2) robot_A 内で DeserializeJeson アクティビティで “project.json” の “name” 値を取得し、設定ファイルの絶対パスを生成、参照

(3) robot_A をパブリッシュ

(4) 開発端末のUipath Robot で robot_A のテスト実施、結果良好

[B] 実行Windows端末へのリリース
(5) 開発端末の<C:\ProgramData\UiPath\Packages\robot_A.nupkg> を、実行端末の同一パスに格納。

(6) 実行端末でRobotを起動し、robot_A をインストール。

(7) 実行端末でrobot_Aを起動したところ、実行エラー発生。

robot_Aを実行中にエラーが発生しました
エラーメッセージ:不明な型
'{http://schemas.uipath.com/workflow/activities}DeserializeJson
({clr-namespace:Newtonsoft.Json.Linq:assembly = NewtonsoftJson}
JObject)'を作成できません。

(8) 開発端末の<C:\Users\xxxx.nuget\packages\UiPath.webapi.activities\1.4.0\UiPath.sebapi.activities.1.4.0.nupkg>を、実行端末の <C:\Program Files (x86)\UiPath\Studio\Packages>に格納

(9) 実行端末でrobot_Aを起動したところ、実行エラーは発生しないが、
処理開始までの時間が遅延するようになった。
Executeログによれば、起動時刻から2,3分後に「robot_A の実行が開始しました」が出力。
その後にある、上記2の実装部は瞬時に終わっている。

[C] 実行Windows端末の他ロボ稼働
(10) project.jsonを読込まない、以前にリリースしたロボットでは(9)事象は発生せず。

1 Like

Use Environment.username …
Link : How get robot name? - #2 by Dominic

リンク先のスレッドは確認済みです。
期待した値は取得できませんでした。

Environment.userName ⇒Windows Login User Name
Environment.MachineName ⇒ Windows Computer Name

こんにちは

起動が遅い件は、まずは以下試してもらうのが良いかと。

NuGet.Config の更新を試しましたが、改善されませんでした。
※当方ではUiPath 2018.3.2 を利用しており、バージョンアップ経験はありません。

引き続き、アドバイスをお待ちします。

こんにちは

確認になりますが、ご利用の環境はインターネットに接続できない状況でしょうか?

あと先ほど対応策に関して、念のための確認になりますが、

・サービスを再起動したか?
・NuGet.Configの更新に際してVirtualStoreに書き込まれていないか?(適切な権限で書き込んでいるか?)

は大丈夫そうでしょうか?

アドバイス頂きありがとうございます。

(1) 社内PCなので、インターネットに接続は出来ていますが、閲覧制限があります。
「uipath.sebapi.activities.1.4.0.nupkg」を利用していますが、
先に示した手順(8)をやり、エラー解消できているので問題はないと考えています。

(2) NuGet.Configの更新
ファイル更新はAdministratorで実施し、PCの再起動も行いましたが、
状況の改善が見られませんでした。

こんにちは

一般的に、数十秒から分単位の待ち時間が発生するのは、ネットワークのタイムアウト待ちによるケースが多く、まずはこのあたりを疑ってみるべきと思います。

通常nupkgされたワークフローをタスクトレイのラウンチャーから実行する場合、Robotが依存関係が解消されるよう自動的に必要なパッケージをインターネット側からダウンロードします。今回のケースでは手動でnupkgを置くことにより依存関係の問題は解消されているかと思いますが、依然として通信周りに問題を抱えている状態かと推察しています。

先に示した手順は、インターネット側に通信をしに行かないよう、アクセス先のURLを削除するアプローチでしたが、逆にプロキシをお使いで、そのあたりに問題があるとすれば、正しくプロキシを超えるよう、以下の手順を試してみる手はあるかもしれません。

あと個人的には念のためWIN-HTTPのProxyの設定をしておいたほうが良いとも考えています。

> netsh winttp set proxy proxy-server =<プロキシ サーバー>

みたいな感じです。以下関連の参考サイトです。

https://support.microsoft.com/ja-jp/help/2894304

yoichiさん

丁寧にアドバイス頂き、ありがとうございます。
ご指摘内容は理解しました。

開発端末と実行端末で、教えて頂いたような設定の差があれば解消しようと確認しましたが、
(1) コマンドプロンプトでの「netsh winhttp show proxy」結果
(2) インターネットオプションのプロキシ設定
(3) UiPath.Service.Host.exe.config のファイル内容
は同一でした。

ところが、
(4) <C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\Nuget\NuGet.Config> 内容
を両端末で確認しようとしたところ、
開発端末では参照できるのですが、実行端末では権限的に<C:\Windows\SysWOW64\config>配下の参照ができませんでした。
Windowsユーザ権限が違っている事が原因かもしれませんので、前開発担当者に確認してみます。

引き続き何かアドバイスありましたら、お願いします。

ところで、相当簡単そうに思えた「ロボット名取得(プロジェクト名取得)」は、
アクティビティが無く、私の解決策が妥当という結論になるのでしょうか?

その後の経過です。

開発端末が管理者権限なのがそもそも問題では?との考えもあり、
実行端末の権限変更という話にはなっていません。
引き続き解決策を模索中です。
パッケージファイルの置き場所確認など、細かく見ていこうと思います。

前任の開発担当である、UiPath販売元のSIerにも問合せてみます。

こんにちは

アクティビティ自体は無いと思いますので、問題ないのではと思います。

ちなみにUiPath用語でロボットというと、ワークフローを実行する側の機構を指す場合が一般的かと思いますので、今回の場合は、Automation Project名とか、単にProject名等の方が良いかと思います。(このあたりはRPA製品毎に用語が違うので面倒なのですが...)

こんにちは、その後の経過です。

UiPath販売元のSIerに対面で状況説明し、
持ち帰って調査するとのことで、未だ解決には至っていません。
解決策が判明し次第、共有致します。

1 Like

本件、解決致しましたので、共有させて頂きます。
アドバイス頂きありがとうございました。
また、View数も多く、似たような事象が多いのかもしれません。解決の糸口になればと存じます。

■Sierからの回答
【事象の原因】
「UiPath.WebAPI.Activities 1.4.0」自体がさらに持つ、他のパッケージへの依存関係の解決に時間がかかっている。

【対策】
「UiPath.WebAPI.Activities 1.4.0」が依存関係を持つ以下のパッケージをローカルに格納する。
・AvalonEdit (>= 5.0.3)
・Newtonsoft.Json (>= 11.0.2)
・RestSharp (>= 106.3.1)

■私の行った作業
(1) パッケージ保有状況確認
開発機(DEV), 本番機(LIVE)の <%userprofile%.nuget\packages>を確認
avalonedit: DEV (5.0.3), LIVE (5.0.3)
newtonsoft.json: DEV (11.0.2),LIVE (10.0.3)
restsharp: DEV (106.3.1), LIVE (none)

(2) LIVEへの追加リリース
From: DEV
<%userprofile%.nuget\packages\newtonsonft.json\11.0.2\newtonsoft.11.0.2.nupkg>
<%userprofile%.nuget\packages\restsharp\106.3.1\restsharp.106.3.1.nupkg>
To: LIVE
<C:\Program Files (x86)\Uipath\Studio\Packages>

(3) ロボ実行
(3a) 確認用ロボの1回目起動 ->起動から約3分後に処理開始
残念に思いつつも、
LIVEの<%userprofile%.nuget\packages>を確認したところ、
ファイルが展開されていたことを確認。

(3b) 確認用ロボの2回目起動 ->起動後すぐに処理開始
(3c) 同パッケージを使っている別ロボを起動 ->起動後すぐに処理開始

■考察
上記(3a)のロボ実行では以下動作があった上で、
・展開済パッケージフォルダを確認 →ない(+タイムアウト)
・ローカルのパッケージソースをチェック →あった+展開(解凍)
・業務処理開始

上記(3b,3c)のロボ実行では以下動作となったと考えられます。
・展開済パッケージフォルダを確認 →あった
・業務処理開始

一方で、今回は確認用ロボの再インストールは行っていないため、
タスクトレイでのインストール時に、追加パッケージが展開される可能性があります(今となっては確認できない)。

今後、追加パッケージ発生時は、以下運用とすることにしました。
・パブリッシュしたnupkgをリリース
・追加パッケージ及びその依存関係にあるパッケージのnupkgもリリース
・ロボのインストール時または初回処理時に、数分の待ち時間が生じることを、
注意事項としてロボ実行者に申し送る。

以上

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.