以下のメソッドとプロパティは、カスタム アプリケーションまたは 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 か月前に更新