robot
2023.10
false
- Notas relacionadas
- Primeros pasos
- Asistente de UiPath
- Instalación y actualización
- Tipos de robot
- Componentes de robot
- Licencia
- Conexión de los robots a Orchestrator
- Procesos y actividades
- Registro
- Robot JavaScript SDK
- Situaciones concretas
- Reinicio de componentes de UiPath Robot
- Sesiones de Windows
- Inicio de sesión usando el sistema de credenciales de Thales Luna
- Inicio de sesión utilizando el proveedor de almacenamiento de clave nShield
- Redirección de Robots a través de un servidor proxy
- Ejecución de tareas en una ventana RDP minimizada
- Uso de unidades de red asignadas
- Detención de un proceso
- Botón de deshabilitación de detención
- Carpetas de paquetes y rutas de red personalizadas
- Integración de CrowdStrike
- Robot de virtualización de apps citrix
- Solución de problemas
- Errores comunes de conexión
- Robot que no responde sobre RDP
- Registros de ejecución duplicados
- Errores de robot encontrados con frecuencia
- Aumento de la duración de la ejecución de proceso
- Exigencia de la verificación de la firma de paquetes
- Mensaje demasiado grande para procesarlo
- Errores al ejecutarse como administrador
- Los paquetes NuGet no son accesibles tras la migración
- Actividades de diálogo de control de acceso de usuario y automatización de IU
- Se requiere .NET durante la instalación
- El ensamblado no se puede cargar desde la red o compartir archivos de Azure
- Las actividades no pueden encontrar .NET Runtime
Especificaciones de SDK
Guía de usuario del robot
Última actualización 4 de dic. de 2024
Especificaciones de SDK
Puedes incluir los siguientes métodos y propiedades en tu aplicación o página web personalizada.
El método
init
es opcional.Devuelve la instancia de IRobotSDK, que te permite almacenarla como variable para uso posterior.
const robot = UiPathRobot.init();
const robot = UiPathRobot.init();
La
settings
propiedad de Configuración tipo te permite cambiar el número de puerto predeterminado, el intervalo de encuesta en milisegundos, o deshabilitar el envío de datos de telemetría.
const robot = UiPathRobot.init();
robot.settings.portNumber = 1234;
robot.settings.pollTimeInterval = 1000;
robot.settings.disableTelemetry = true;
const robot = UiPathRobot.init();
robot.settings.portNumber = 1234;
robot.settings.pollTimeInterval = 1000;
robot.settings.disableTelemetry = true;
El
on
método se usa para adjuntar controladores de eventos en el SDK.
Los eventos SDK disponibles son
consent-prompt
missing-components
y
El SDK JavaScript de UiPath viene con una superposición de consentimiento integrada que se muestra cada vez que tu aplicación o página web personalizada necesita conectarse al Robot.
Esta superposición de consentimiento se puede anular con un controlador personalizado.
const robot = UiPathRobot.init();
robot.on('consent-prompt', consentCode => console.log(consentCode));
const robot = UiPathRobot.init();
robot.on('consent-prompt', consentCode => console.log(consentCode));
El
missing-components
evento se establece cuando el servicio UiPath Robot JS no se está ejecutando. En este caso, el SDK muestra un error, que puede sobreescribirse con un controlador personalizado.
const robot = UiPathRobot.init();
robot.on('missing-components', () => console.log('Missing Components'));
const robot = UiPathRobot.init();
robot.on('missing-components', () => console.log('Missing Components'));
El
getProcesses
método recupera la lista de procesos disponibles. Devuelve una promesa a matriz de Objetos de RobotProcess. Si el Robot está conectado a Orchestrator, recupera los procesos desde el entorno y carpeta de los cuales forma parte el Robot. De lo contrario, los procesos locales se recuperan.
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);
}
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);
}
Utilizando la propiedad
inputArgumentsSchema
de un proceso instalado, puedes recuperar los argumentos de entrada de un proceso. Antes de utilizar la propiedad inputArgumentsSchema
, primero debes instalar el proceso.
El
installProcess
método instala un proceso y devuelve una Pormesa a un objeto de tipo InstallProcessResult, que contiene la matriz de objetos InputArgumentSchema.
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)
}
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)
}
Nota: en TypeScript, el método
install
de un objeto de RobotProcess se puede usar para instalar un proceso.
const robot = UiPathRobot.init();
const processes = await robot.getProcesses();
const myProcess = processes.find(p => p.name === "MyProcess");
const installedProcess = await myProcess.install();
const robot = UiPathRobot.init();
const processes = await robot.getProcesses();
const myProcess = processes.find(p => p.name === "MyProcess");
const installedProcess = await myProcess.install();
El
startJob
método recibe un ya creado Job
y lo inicia. Devuelve una promesa a un objeto de tipo JobResult, que contiene los argumentos de salida.
El
createJob
método crea un trabajo de UiPath Robot utilizando el Id de proceso. Opcionalmente puede recibir los argumentos de entrada del trabajo. Devuelve un objeto de trabajo.
Nota: a partir de la versión 2022.10, la lista de procesos se actualiza paralelamente a la ejecución del proceso. Anteriormente, la lista de procesos se actualizaba antes de que se iniciara el proceso. Esto significa que al ejecutar un proceso para el que existe una actualización disponible, el trabajo puede ejecutarse con la versión anterior del proceso.
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);
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);
Nota: en TypeScript se puede crear un trabajo usando el constructor de clase Trabajo.
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);
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);
El
on
método del Job
objeto se utiliza para adjuntar los controladores del evento al trabajo . Los eventos disponibles son status
y workflow-event
.
El
status
evento se establece durante la ejecución del trabajo cada vez que el estado del trabajo ha cambiado.
Este evento también se plantea cada vez que la actividad ReportStatus se ejecuta.
const robot = UiPathRobot.init();
const job = robot.createJob('processId');
job.on('status', robotStatus => console.log(robotStatus));
await robot.startJob(job);
const robot = UiPathRobot.init();
const job = robot.createJob('processId');
job.on('status', robotStatus => console.log(robotStatus));
await robot.startJob(job);
El
workflow-event
evento se plantea durante la ejecución del trabajo cada vez que una actividad que envía un evento de flujo de trabajo se ejecuta. Es el soporte para la implementación parcial de resultados con la ayuda de enviar resultados provisionales de la actividad. Un controlador de eventos tiene un argumento de tipo WorkflowEventData.
const robot = UiPathRobot.init();
const job = robot.createJob('processId');
job.on('workflow-event', e => console.log(e.name));
await robot.startJob(job);
const robot = UiPathRobot.init();
const job = robot.createJob('processId');
job.on('workflow-event', e => console.log(e.name));
await robot.startJob(job);
El método del objeto RobotProcess se utiliza para iniciar un proceso mediante mediante la transmisión
start
al proceso de argumentos de entrada, si están disponibles.
Devuelve un objeto de tipo 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);
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);
El
onStatus
método se utiliza para adjuntar un controlador de eventos al cambio de «estado» del trabajo.
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));
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));
El
onWorkflowEvent
método se utiliza para adjuntar un controlador de eventos al evento de «flujo de trabajo» del trabajo.
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));
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));
El
stopProcess
método se utiliza para detener un proceso de robot en ejecución.
Devuelve una promesa que se resuelve al cancelar con éxito el proceso del robot en ejecución.
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);
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);
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>;
}
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>;
}
class Settings {
portNumber: number;
pollTimeInterval: number;
disableTelemetry: boolean;
}
class Settings {
portNumber: number;
pollTimeInterval: number;
disableTelemetry: boolean;
}
class RobotProcess {
id: string;
name: string;
description?: string;
start: (inArguments?: any) => JobPromise;
install: () => Promise<InstallProcessResult>;
}
class RobotProcess {
id: string;
name: string;
description?: string;
start: (inArguments?: any) => JobPromise;
install: () => Promise<InstallProcessResult>;
}
class InstallProcessResult {
inputArgumentsSchema: InputArgumentSchema[]
}
class InstallProcessResult {
inputArgumentsSchema: InputArgumentSchema[]
}
class InputArgumentSchema {
name: string;
type: string;
isRequired: boolean;
hasDefault: boolean;
}
class InputArgumentSchema {
name: string;
type: string;
isRequired: boolean;
hasDefault: boolean;
}
class JobPromise {
onStatus(eventHanlder: (argument?: any) => void): JobPromise;
onWorkflowEvent(eventHanlder: (argument?: any) => void): JobPromise;
}
class JobPromise {
onStatus(eventHanlder: (argument?: any) => void): JobPromise;
onWorkflowEvent(eventHanlder: (argument?: any) => void): JobPromise;
}
class Job {
processId: string;
argument?: any;
jobId: string;
on(eventName: string, eventHanlder: (argument?: any) => void): void;
}
class Job {
processId: string;
argument?: any;
jobId: string;
on(eventName: string, eventHanlder: (argument?: any) => void): void;
}
- Métodos y propiedades
- Init
- Configuración
- Activado
- solicitud de consentimiento
- componentes faltantes
- Obtener procesos
- Get Input Arguments Schema
- Iniciar trabajo
- Job On
- estado
- Evento de flujo de trabajo
- Iniciar proceso
- Estado en proceso
- Evento de flujo de trabajo en proceso
- Detener el proceso
- Definiciones de modelo
- IRobotSDK
- Configuración
- RobotProcess
- InstallProcessResult
- InputArgumentSchema
- JobPromise
- Trabajo
- JobResult
- WorkflowEventData