robot
2021.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
- 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
- Solución de problemas
- 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
- Los Proyectos de .NET6 dan error de ejecución
Especificaciones de SDK
Sin asistencia
Guía de usuario del robot
Última actualización 11 de nov. de 2024
Especificaciones de SDK
En tu aplicación o página web personalizada se pueden incluir los siguientes métodos y propiedades:
El método
init
es opcional. Devuelve la instancia IRobotSDK
, que te permite almacenarla como una variable para usarla más tarde.
UiPathRobot.init()
UiPathRobot.init()
El método
Get Process
recupera y muestra la lista de procesos disponibles. Si el Robot está conectado a Orchestrator, recupera los procesos desde el entorno y carpeta de los cuales forma parte el Robot. Si no está conectado a Orchestrator, se muestran los procesos locales.
const robot = UiPathRobot.init();
robot.getProcesses()
.then(result => {
for(let i=0; i<result.length;i++){
console.log(result[i].name);
}
}, err => {
console.log(err);
});
const robot = UiPathRobot.init();
robot.getProcesses()
.then(result => {
for(let i=0; i<result.length;i++){
console.log(result[i].name);
}
}, err => {
console.log(err);
});
El método
Start Job
inicia un proceso por su ID y argumentos de entrada, si los hay.
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);
});
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);
});
El método
On
se usa para adjuntar controladores de eventos en el SDK. 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)});
robot.on('mising-components', () => {console.log('Missing Components')});
const robot = UiPathRobot.init();
robot.on('consent-prompt', (consentCode) => {console.log(consentCode)});
robot.on('mising-components', () => {console.log('Missing Components')});
El método
Process Start
se utiliza para iniciar un proceso pasándole argumentos de entrada, si los hay.
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);
});
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);
});
El método
Process Start On Status
se utiliza para iniciar un proceso y adjuntar la devolución de llamada de estado pasando el controlador de llamada de estado.
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);
});
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);
});
El método
Stop Process
se utiliza para detener un proceso de robot en ejecución. Devuelve una promesa que se resuelve tras la cancelación correcta del proceso de robot en ejecución.
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);
}
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);
}
El método
Job On
se utiliza para adjuntar un controlador de evento para recuperar los estados de procesos en curso.
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);
});
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);
});
El método
Settings
te permite editar el número de puerto predeterminado y el tiempo de intervalo de sondeo en milisegundos.
const robot = UiPathRobot.init();
robot.settings.portNumber = 1234;
robot.settings.pollTimeInterval = 1000
const robot = UiPathRobot.init();
robot.settings.portNumber = 1234;
robot.settings.pollTimeInterval = 1000
class Settings {
portNumber: number;
pollTimeInterval: number;
}
class Settings {
portNumber: number;
pollTimeInterval: number;
}
class RobotProcess {
id: string;
name: string;
constructor(id: string, name: string);
start: (inArguments?: any) => JobPromise;
}
class RobotProcess {
id: string;
name: string;
constructor(id: string, name: string);
start: (inArguments?: any) => JobPromise;
}
interface IRobotSDK {
settings: Settings;
getProcesses(): Promise<Array<RobotProcess>>;
init(): IRobotSDK;
on(eventName: string, callback: (argument?: any) => void): void;
startJob(job: Job): Promise<JobResult>;
}
interface IRobotSDK {
settings: Settings;
getProcesses(): Promise<Array<RobotProcess>>;
init(): IRobotSDK;
on(eventName: string, callback: (argument?: any) => void): void;
startJob(job: Job): Promise<JobResult>;
}
/**
* Job result model containing all output arguments from the process.
* Empty if there are no out arguments.
*/
class JobResult {
[Key: string]: any;
}
/**
* Job result model containing all output arguments from the process.
* Empty if there are no out arguments.
*/
class JobResult {
[Key: string]: any;
}
class Job {
processId: string;
argument?: any;
jobId: string;
constructor(processId: string, argument?: any);
on(eventName: string, eventHanlder: (argument?: any) => void): void;
}
class Job {
processId: string;
argument?: any;
jobId: string;
constructor(processId: string, argument?: any);
on(eventName: string, eventHanlder: (argument?: any) => void): void;
}