Marketplace
最新
バナーの背景画像
Marketplace ユーザー ガイド
最終更新日 2024年4月16日

ジョブを開始する方法

ジョブとは、1 台または複数のロボットを使用してプロセスを実行することです。ジョブを開始プロセスを実装することで、プラットフォーム内 (UiPath Platform の外部) で発生するイベントに対して新しいジョブを作成できるようになります。



エンドポイントと入力

ジョブを開始するには、複数の Orchestrator API エンドポイントに対して GET 要求と POST 要求の両方を使用する必要があります。GET 要求は、StartJobs エンドポイントへの POST 要求に必要な入力パラメーター値の取得に使用されます。

StartJob の入力パラメーターとは

StartJob エンドポイントに POST 要求を正常に送信するには、最低でも ReleaseKey (プロセス ID) と Strategy (プロセスの実行方法) を入力パラメーターとして指定する必要があります。Strategy によっては、JobsCountRobotIds などの入力パラメーターが追加される可能性があります。

StartJob の入力パラメーター値の取得方法

上記の必須の入力パラメーター (つまり、ReleaseKeyStrategy) を取得するには、以下の情報を収集します。

プロセス名

StartJob 要求が成功した場合に実行されるプロセスの名前です (プロセスの詳細については、『Orchestrator ガイド』の「プロセスについて」をご覧ください)。

プロセス名は ReleaseKey 値の取得に使用されます。

パブリッシュされている環境によって区別される、同じプロセスのインスタンスが複数存在する場合があります。このため、1 つのプロセス名で複数の ReleaseKey が取得される可能性があります。プロセスに複数の ReleaseKey が関連付けられている場合は、EnvironmentName を使用して、ユーザーが実行したいプロセスの ReleaseKey を特定できます (EnvironmentName は、利用可能なロボットの識別にも使用されます。詳細については次の項目を参照してください)。

特定のプロセスの ReleaseKeyEnvironmentName の両方を取得するには、入力パラメーターとしてプロセス名を使用して、Releases エンドポイントに GET 要求を送信します (例: {{base url}}/odata/Releases?$filter=ProcessKey eq {{ProcessName}})。
注: Releases GET 要求からの応答には、特定のプロセスに対する入力引数要件も含まれます。詳細については、下記の入力引数をご覧ください。

ストラテジ

ジョブによるプロセスの実行方法を指定します。以下の 3 つのオプションがあります。

1. Specific

プロセスは特定のロボットで実行されます。

[Specific] を選択した場合、StartJob エンドポイントには、プロセスの実行に使用するロボットの RobotId が必要です。

RobotId を取得するには、入力パラメーターとして EnvironmentName を使用して、GetEnvironments エンドポイントに GET 要求を送信します (例: {{base url}}/odata/Environments?$expand=Robots&$filter=Name eq {{_EnvironmentName_}})。

GetEnvironments 応答には複数の RobotId が含まれる場合があります。正しい RobotId を識別するには、ロボット名を使用できます。このため、[Specifc] を選択した場合は、この情報を取得することをお勧めします。

2. JobsCount

プロセスは、次に利用可能なロボットを使用して、指定された回数実行されます。

[JobsCount] を選択した場合は、StartJob エンドポイントで JobsCount 入力パラメーターに値を含める必要があります。このため、ユーザーが数値を入力する方法を用意することをお勧めします。

3. All

プロセスはすべてのロボットで 1 回実行されます。

入力引数 (任意)

プロセス名により指定されるプロセスには、入力引数が必要な場合があります。通常、これらの入力引数は、アプリケーション オブジェクトに関連付けられているデータ フィールドにマッピングされます。

たとえば、問題管理システムには「インシデント」オブジェクトが含まれる場合があります。この「インシデント」オブジェクトには、プロセスに関連する情報を含むいくつかのデータ フィールドがあります (例: IncidentIdDateCreatedOwner など)。

上記のように、プロセスに入力引数が必要かどうかを判断するには、GET Releases 応答の Arguments ブロックを解析します (以下の応答例を参照してください)。

StartJob の POST 要求にこれらのデータ フィールド値を含めるために、プロセスに必要なアプリケーション オブジェクトとその関連データ フィールドを選択するための方法を用意することをお勧めします。ジョブが呼び出されると、コネクタはデータ フィールドの値を取得し、InputArgument パラメーターの値として POST 要求に追加します。

注:

あるプロセスに必須の引数があるかどうかを確認するために、GET 要求を Processes_GetArgumentsByKey エンドポイントに送信することもできます。このエンドポイントの利点は、応答に引数の詳細のみが含まれることです (入力および出力)。

このエンドポイントの欠点、および例で使用していない理由は、以前の GET Releases 応答 (ReleaseKey 値の取得に必要) で既に提供されている情報を取得するために、コネクタで追加の GET 要求を作成する必要があることです。

{
  "@odata.context": "https://platform.uipath.com/twTenantTest/twTenantTest/odata/$metadata#Releases",
  "@odata.count": 1,
  "value": [
    {
      "Key": "99587436-4ce5-480d-988c-6d7f43787a2c",
      "ProcessKey": "SupportTriage",
      "ProcessVersion": "1.0.1",
      "IsLatestVersion": false,
      "IsProcessDeleted": false,
      "Description": "",
      "Name": "SupportTriage_QuickstartDemo",
      "EnvironmentId": 128912,
      "EnvironmentName": "QuickstartDemo",
      "InputArguments": null,
      "ProcessType": "Process",
      "SupportsMultipleEntryPoints": false,
      "RequiresUserInteraction": true,
      "AutoUpdate": false,
      "JobPriority": "Normal",
      "Id": 312722,
      "Arguments": {
        "Input": "[{\)\)"name\)\)":\)\)"IncidentId\)\)",\)\)"type\)\)":\)\)"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\)\)",\)\)"required\)\)":true,\)\)"hasDefault\)\)":false}]",
        "Output": null
      },
      "ProcessSettings": null
    }{
  "@odata.context": "https://platform.uipath.com/twTenantTest/twTenantTest/odata/$metadata#Releases",
  "@odata.count": 1,
  "value": [
    {
      "Key": "99587436-4ce5-480d-988c-6d7f43787a2c",
      "ProcessKey": "SupportTriage",
      "ProcessVersion": "1.0.1",
      "IsLatestVersion": false,
      "IsProcessDeleted": false,
      "Description": "",
      "Name": "SupportTriage_QuickstartDemo",
      "EnvironmentId": 128912,
      "EnvironmentName": "QuickstartDemo",
      "InputArguments": null,
      "ProcessType": "Process",
      "SupportsMultipleEntryPoints": false,
      "RequiresUserInteraction": true,
      "AutoUpdate": false,
      "JobPriority": "Normal",
      "Id": 312722,
      "Arguments": {
        "Input": "[{\)\)"name\)\)":\)\)"IncidentId\)\)",\)\)"type\)\)":\)\)"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\)\)",\)\)"required\)\)":true,\)\)"hasDefault\)\)":false}]",
        "Output": null
      },
      "ProcessSettings": null
    }

このセクションでは、コネクタ ユーザー インターフェイスの例と、各入力フィールドに対応する Orchestrator API 要求へのリンクを示します。

ここで示す例では、テンプレートの概念を導入します。テンプレートは、UiPath のプロセスまたはキューを使用するアプリケーション オブジェクトやイベントの関連付けを表します。概念上は、テンプレートを使用すると、アプリケーション内で各種イベント (新規オブジェクトの作成、オブジェクト ステータスの変更など) が発生したときにさまざまな Orchestrator リソース (ジョブの開始、キュー アイテムの追加など) を呼び出すことができ、それと同時に、単一の認証済み接続が維持されます。



  • エンドポイントと入力
  • StartJob の入力パラメーターとは
  • StartJob の入力パラメーター値の取得方法

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.