Studioから新しいアセットを登録

Orchestratorを試しています。
Assetの生成について質問があります。
Orchestratorにログインし、手動でAssetを作成できる事は理解しているのですが
例えば、Orchestratorに接続できるマシン(DevelopmentRobot)のからCredential型のAssetを作成したいのですが、何か方法はありませんでしょうか?
Developmentロボットには、ドメインユーザーとして登録されているユーザーが紐づいています。

つまり、Orchestratorにログインする事無く、Studioのアクティビティー等を利用して、Orchestratorのアセットに、ロボット毎の値を登録する。
という事がやりたい事となります。

よろしくお願いします。

Orchestrator > API > Orchestrator HTTP Request
アクティビティを使ってみてはいかがでしょうか。

OrchestratorのURL/swagger/ui/index#/

にアクセスすると、APIが表示できます。
(あるいはCommunity版Orchestrtorの UiPath からでも確認できます)

Assetを追加するのであれば、上記ActivityのInput設定で、

  • JSONPayloadには更新したいAssetの値
  • MethodをPOST
  • RelativeEndpointは"/odata/Assets"

にすれば良いはずです。
上記URL(swagger)からJsonのサンプルも見れるので、試してみてください。

他に、使い方がOrchestratorガイドにあるのですが、今のところ翻訳されていませんね……

1 Like

ありがとうございました。とても参考になりました。
ところで、提示頂いた情報から、試してみたのですが、実は今検証している環境では
『組織単位』を設定しているのですが、この組織単位が設定されている場合、各要求にOU IDをヘッダーとして含める必要があることに注意してくださいロありますが、具体的にどう
記載すれば良いのでしょうか。

OrchestratorのWeb APIは2つ使い方がありまして、

  • 外部のアプリから呼び出す
  • Orchestrator > API > Orchestrator HTTP Request アクティビティから呼び出す

の二種類になります。
前者の場合は、Orchestratorにログインしていない外部から呼び出すのでOU(組織単位)をHTTPのヘッダに記載する必要がありますが、Orchestrator HTTP Request アクティビティを使用する場合はそこを意識する必要はありません。
というのも、Orchestrator HTTP Requestアクティビティは「そのロボットをユーザーとしてOrchestratorにログインして」処理を行います。なので、必然的にそのロボットが所属しているOUの内側でのみ適用されます。

という話なので、少し重要な説明が抜け落ちてました。Orchestratorのロボット用のロールを確認して、アセットの編集権限を追加しておかないと、おそらく/odata/Assets をPOSTするのは失敗します。

ご教示ありがとうございます。
ちょっとやってみます。