通知を受け取る

UiPath Robot

UiPath Robot ガイド

SDK の仕様

以下のメソッドとプロパティは、カスタム アプリケーションまたは Web ページに含めることができます。

SDK の仕様

Init

init メソッドは任意です。IRobotSDK インスタンスを返します。後で使用するために変数として格納できます。

UiPathRobot.init()

Get Process

Get Process メソッドは利用可能なプロセスのリストを取得し表示します。ロボットが Orchestrator に接続されている場合は、そのロボットが属するロボット グループとフォルダーからプロセスを取得します。Orchestrator に接続されていない場合は、ローカルにあるプロセスが表示されます。

const robot = UiPathRobot.init();
robot.getProcesses()
.then(processList => {
  for(let i=0; i<processList .length;i++){
    console.log(processList[i].name);
  }
}, err => {
  console.log(err);
});

プロセスの詳細を取得する

プロセスの説明は processList 内の各プロセスの [description] プロパティに含まれているため、プロセス リストを取得した後に直接取得できます。

const robot = UiPathRobot.init();
robot.getProcesses()
.then(processList => {
  for(let i=0; i<processList.length;i++){
    console.log(processList[i].description);
  }
}, err => {
  console.log(err);
});

入力引数の取得スキーマ

プロセスの入力引数は、インストール済みのプロセスの inputArgumentsSchema プロパティを使用して取得できます。

inputArgumentsSchema プロパティを使用する前に、プロセスをインストールする必要があります。

入力引数のリストは、次のプロパティを持つエンティティのリストです。

  • installedProcess.inputArgumentsSchema[0].name - string - 入力引数の名前
  • installedProcess.inputArgumentsSchema[0].type - string - 入力引数の .NET 型
  • installedProcess.inputArgumentsSchema[0].isRequired - bool
  • installedProcess.inputArgumentsSchema[0].hasDefault - bool
const robot = UiPathRobot.init();
robot.getProcesses()
.then(processList => {
  installedProcess = await (processList[0].install)
  for(let i=0; i<installedProcess.inputArgumentSchema.length;i++){
    console.log("Argument" + i + "name: " + installedProcess.inputArgumentsSchema[i].name)
    console.log("Argument" + i + "type: " + installedProcess.inputArgumentsSchema[i].type)
    console.log("Argument" + i + "isRequired: " + installedProcess.inputArgumentsSchema[i].isRequired)
    console.log("Argument" + i + "hasDefault: " + installedProcess.inputArgumentsSchema[i].hasDefault)
  }
}, err => {
  console.log(err);
});

ジョブを開始 (Start Job)

Start Job メソッドはプロセス ID と入力引数 (あれば) を使用してプロセスを開始します。

let arguments = {
  "input1" : 23,
  "input2" " 42,
  "operation" : "add"
};
const robot = UiPathRobot.init();
robot.getProcesses()
.then(process => {
  let calculatorProcess = processes.find(p => p.name.includes('Calculator'));
  let job = new job(calculatorProcess.id, arguments);
  robot.startJob(job).then(result => {
    console.log(result.Sum);
  }, err => {
    console.log(err);
  })
}, err => {
  console.log(err);
});

On

On メソッドは、SDK にイベント ハンドラーをアタッチするために使用されます。UIPath JavaScript SDK には、カスタム アプリケーションまたは Web ページがロボットに接続する必要があるたびに表示される同意オーバーレイが組み込まれています。この同意オーバーレイはカスタム ハンドラーで上書きできます。

const robot = UiPathRobot.init();
robot.on('consent-prompt', (consentCode) => {console.log(consentCode)});
robot.on('mising-components', () => {console.log('Missing Components')});

Process Start

Process Start メソッドは、プロセスに入力引数 (あれば) を渡して開始するために使用されます。

let arguments = {
  "input1" : 23,
  "input2" " 42,
  "operation" : "add"
};
const robot = UiPathRobot.init();
robot.getProcesses()
.then(process => {
  let process = processes.find(p => p.name.includes('Calculator'));
  process.start(arguments).then(result => {
    console.log(result.Sum);
  }, err => {
    console.log(err);
  })
}, err => {
  console.log(err);
});

Process Start On Status

Process Start On Status メソッドは、プロセスを開始し、コールバック ハンドラーを渡してステータス コールバックをアタッチするために使用されます。

let arguments = {
  "input1" : 23,
  "input2" " 42,
  "operation" : "add"
};
let globalHandler = (status) => {console.log(status)};
const robot = UiPathRobot.init();
robot.getProcesses()
.then(processes => {
  let statusHandler = (status) => {console.log('Calculator Process Status -' + status)};
  let process = processes.find(p => p.name.includes('Calculator'));
  process.start(arguments)
  .onStatus(globalHandler)
  .onStatus(statusHandler)
  .then(result => {
    console.log(result.Sum);
  }, err => {
    console.log(err);
  })
}, err => {
  console.log(err);
});

Stop Process

Stop Process メソッドは、ロボット プロセスの実行を停止するために使用されます。実行中のロボット プロセスが正常にキャンセルされると解決されるプロミスを返します。

try {
  const robot = UiPathRobot.init();
  const robotProcessId = 'MyRunningRobot';
  const processes = await robot.getProcesses();
  const myProcess = processes.find(function(process){return process.name.includes(robotProcessId)});
  await robot.stopProcess(myProcess);
  console.log(robotProcessId +' cancelled successfully');
} catch (e) {
  console.log(robotProcessId +' cancellation failed -'+ e);
}

Job On

Job On メソッドは、進行中のプロセスのステータスを取得するイベント ハンドラーをアタッチするために使用されます。

let arguments = {
  "input1" : 23,
  "input2" " 42,
  "operation" : "add"
};
const robot = UiPathRobot.init();
robot.getProcesses().then(processes => {
  let calculatorProcess = processes.find(p => p.name.includes('Calculator'));
  let job =new job(calculatorProcess.id, arguments);
  job.on('status', (robotStatus) => {console.log(robotStatus)});
  robot.startJob(job).then(result => {
    console.log(result.Sum);
  }, err => {
    console.log(err);
  })
}, err => {
  console.log(err);
});

設定

Settings メソッドでは、既定のポート番号とミリ秒単位のポーリング間隔を編集できます。

const robot = UiPathRobot.init();
robot.settings.portNumber = 1234;
robot.settings.pollTimeInterval = 1000

モデルの定義

設定

class Settings {
    portNumber: number;
    pollTimeInterval: number;
}

RobotProcess

class RobotProcess {
    id: string;
    name: string;

    constructor(id: string, name: string);

    start: (inArguments?: any) => JobPromise;
}

IRobotSDK

interface IRobotSDK {
    settings: Settings;
    getProcesses(): Promise<Array<RobotProcess>>;
    init(): IRobotSDK;
    on(eventName: string, callback: (argument?: any) => void): void;
    startJob(job: Job): Promise<JobResult>;
}

JobResult

/**
 * Job result model containing all output arguments from the process.
 * Empty if there are no out arguments.
 */
class JobResult {
    [Key: string]: any;
}

Job

class Job {
    processId: string;
    argument?: any;
    jobId: string;

    constructor(processId: string, argument?: any);
    on(eventName: string, eventHanlder: (argument?: any) => void): void;
}

3 か月前に更新


SDK の仕様


改善の提案は、API リファレンスのページでは制限されています

改善を提案できるのは Markdown の本文コンテンツのみであり、API 仕様に行うことはできません。