Abonnieren

UiPath Robot

Anleitung für UiPath Robot

SDK-Spezifikationen

Methoden und Eigenschaften

Sie können die folgenden Methoden und Eigenschaften in Ihre benutzerdefinierte Anwendung oder Webseite aufnehmen.

Init

The init method is optional. It returns the IRobotSDK instance, which enables you to store it as a variable for later use.

const robot = UiPathRobot.init();

Einstellungen

The settings property of type Settings allows you to change the default port number, the poll interval time in milliseconds, or to disable sending telemetry data.

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

Auf

Die Methode on wird verwendet, um Ereignishandler an das SDK anzufügen.

Die verfügbaren SDK-Ereignisse sind consent-prompt und missing-components .

Zustimmungsaufforderung

Das UiPath JavaScript SDK verfügt über ein integriertes Zustimmungs-Overlay, das jedes Mal angezeigt wird, wenn Ihre benutzerdefinierte Anwendung oder Webseite eine Verbindung mit dem Roboter herstellen muss.

Dieses Zustimmungs-Overlay kann mit einem benutzerdefinierten Handler überschrieben werden.

const robot = UiPathRobot.init();
robot.on('consent-prompt', consentCode => console.log(consentCode));

fehlende-Komponenten

Das Ereignis missing-components wird ausgelöst, wenn der Robot JS-Dienst nicht ausgeführt wird. In diesem Fall zeigt das SDK einen Fehler an, der mit einem benutzerdefinierten Handler überschrieben werden kann.

const robot = UiPathRobot.init();
robot.on('missing-components', () => console.log('Missing Components'));

Prozesse erhalten (Get Processes)

The getProcesses method retrieves the list of available processes. Returns a Promise to an array of RobotProcess objects. If the Robot is connected to Orchestrator, it retrieves the processes from the environment and folder the Robot is a part of. Otherwise, local processes are retrieved.

const robot = UiPathRobot.init();
const processes = await robot.getProcesses();
for(let i=0; i<processes.length; i++){
    console.log(processes[i].name + " (" + processes[i].description + ") - Id=" + processes[i].id);
}

Schema für Eingabeargumente abrufen

Mit der Eigenschaft „inputArgumentsSchema“ eines installierten Prozesses können Sie die Eingabeargumente eines Prozesses abrufen. Bevor Sie die Eigenschaft inputArgumentsSchema verwenden, müssen Sie zuerst den Prozess installieren.

The installProcess method installs a process and returns a Promise to an object of type InstallProcessResult, which contains an array of InputArgumentSchema objects.

const robot = UiPathRobot.init();
const processes = await robot.getProcesses();
const installedProcess = await robot.installProcess(processes[0].id);
for(let i=0; i<installedProcess.inputArgumentsSchema.length; i++){
    console.log("Argument " + i + ":");
    console.log("  name: " + installedProcess.inputArgumentsSchema[i].name)
    console.log("  type: " + installedProcess.inputArgumentsSchema[i].type)
    console.log("  isRequired: " + installedProcess.inputArgumentsSchema[i].isRequired)
    console.log("  hasDefault: " + installedProcess.inputArgumentsSchema[i].hasDefault)
}

:information-source: In TypeScript, the method install of a RobotProcess object can be used to install a process.

const robot = UiPathRobot.init();
const processes = await robot.getProcesses();
const myProcess = processes.find(p => p.name === "MyProcess");
const installedProcess = await myProcess.install();

Start Job

The startJob method receives an already created Job and starts it. It returns a Promise to an object of type JobResult, which contains the output arguments.

The createJob method creates a robot Job using the Process Id. It can optionally receive the job input arguments. It returns a Job object.

📘

Hinweis

Ab v2022.10 wird die Prozessliste parallel zur Prozessausführung aktualisiert, davor wurde die Prozessliste aktualisiert, bevor der Prozess gestartet wurde. Das bedeutet, dass beim Ausführen eines Prozesses, für den ein Update verfügbar ist, der Auftrag möglicherweise mit der älteren Version des Prozesses ausgeführt wird.

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

:information-source: In TypeScript, a Job can be created by using the Job class constructor.

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

Auftrag auf

Die Methode on des Job -Objekts wird verwendet, um Ereignishandler an den Auftrag anzufügen. Die verfügbaren Ereignisse sind status und workflow-event .

Status

Das Ereignis status wird während der Auftragsausführung jedes Mal ausgelöst, wenn sich der Status des Auftrags geändert hat.
This event is also raised each time the ReportStatus activity is executed.

const robot = UiPathRobot.init();
const job = robot.createJob('processId');
job.on('status', robotStatus => console.log(robotStatus));
await robot.startJob(job);

Workflow-Ereignis

The workflow-event event is raised during the job execution each time an activity that sends a workflow event is executed. It is the support for implementing partial results with the help of send interim results activity. The event handler has an argument of type WorkflowEventData.

const robot = UiPathRobot.init();
const job = robot.createJob('processId');
job.on('workflow-event', e => console.log(e.name));
await robot.startJob(job);

Prozess starten (Start Process)

The method start of the object RobotProcess is used to start a process by passing it input arguments, if available.
It returns an object of type JobPromise.

const robot = UiPathRobot.init();
const processes = await robot.getProcesses();
const myProcess = processes.find(p => p.name === "MyProcess");
const arguments = {
    "a" : 41,
    "b" " 27
};
const result = await myProcess.start(arguments);

Status „Prozess ein“

Die Methode onStatus wird verwendet, um einen Ereignishandler an das Statusereignis des Auftrags anzufügen.

const robot = UiPathRobot.init();
const processes = await robot.getProcesses();
const myProcess = processes.find(p => p.name === "MyProcess");
const result = await myProcess.start().onStatus(status => console.log(status));

Prozess bei Workflowereignis

Die Methode onWorkflowEvent wird verwendet, um einen Ereignishandler an das Ereignis „workflow-event“ des Auftrags anzufügen.

const robot = UiPathRobot.init();
const processes = await robot.getProcesses();
const myProcess = processes.find(p => p.name === "MyProcess");
const result = await myProcess.start().onWorkflowEvent(e => console.log(e.name));

Stop Process

Die Methode stopProcess wird verwendet, um einen ausgeführten Roboterprozess zu stoppen.
Es gibt eine Zusage zurück, die bei erfolgreichem Abbrechen des laufenden Roboterprozesses aufgelöst wird.

const robot = UiPathRobot.init();
const processes = await robot.getProcesses();
const myProcess = processes.find(p => p.name === "MyProcess");
const result = await myProcess.start();
await robot.stopProcess(myProcess);

Modelldefinitionen

IRobotSDK

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

Einstellungen

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

RobotProcess

class RobotProcess {
    id: string;
    name: string;
    description?: string;

    start: (inArguments?: any) => JobPromise;
    install: () => Promise<InstallProcessResult>;
}

InstallProcessResult

class InstallProcessResult {
    inputArgumentsSchema: InputArgumentSchema[]
}

EingabeArgumentSchema

class InputArgumentSchema {
    name: string;
    type: string;
    isRequired: boolean;
    hasDefault: boolean;
}

Auftragsversprechen

class JobPromise {
    onStatus(eventHanlder: (argument?: any) => void): JobPromise;
    onWorkflowEvent(eventHanlder: (argument?: any) => void): JobPromise;
}

Auftrag

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

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

JobResult

class JobResult {
    [Key: string]: any;
}

WorkflowEventData

class WorkflowEventData {
    name: string;
    payload: string;
}

Updated 19 days ago


SDK-Spezifikationen


Auf API-Referenzseiten sind Änderungsvorschläge beschränkt

Sie können nur Änderungen an dem Textkörperinhalt von Markdown, aber nicht an der API-Spezifikation vorschlagen.