机器人
2023.4
False
机器人用户指南
上次更新日期 2023年12月6日
机器人 API
机器人能够满足各种自动化需求。当您使用 Robot API 时,这些功能会显著增强,从而为您提供量身定制的体验来创建特定于域的界面。
Robot API 只能用于管理您自己的作业,不能用于其他用户。仅可从安装机器人的计算机上访问。API 与机器人版本相同,并且每个更新都提供向后兼容性。
兼容性矩阵
机器人版本 |
API 22.4.x |
API 21.10.x |
API 20.10.x |
API 19.10.x |
---|---|---|---|---|
Robot 22.4.x |
|
|
|
|
Robot 21.10.x |
|
|
|
|
Robot 20.10.x |
|
|
|
|
Robot 19.10.x |
|
|
|
|
使用机器人 API 时需要 UiPath.Robot.api
库。您可以通过 https://uipath.pkgs.visualstudio.com/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.json
订阅源下载。
您可以使用以下 .NET 机器人客户端调用:
将客户端包括在您的应用程序中:
var client = new RobotClient();
var client = new RobotClient();
获取可用流程列表:
var processes = await client.GetProcesses();
var myProcess = processes.Single(process => process.Name == "MyProcess");
var job = myProcess.ToJob();
var processes = await client.GetProcesses();
var myProcess = processes.Single(process => process.Name == "MyProcess");
var job = myProcess.ToJob();
使用流程密钥启动作业:
var job = new Job("812e908a-7609-4b81-86db-73e3c1438be4");
var job = new Job("812e908a-7609-4b81-86db-73e3c1438be4");
启动流程执行:
{
await client.RunJob(job);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
{
await client.RunJob(job);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
添加输入参数:
job.InputArguments = {["numbers"] = new int[] { 1, 2, 3 }};
await client.RunJob(job);
job.InputArguments = {["numbers"] = new int[] { 1, 2, 3 }};
await client.RunJob(job);
导出输出参数:
var jobOutput = await client.RunJob(job);
Console.WriteLine(jobOutput.Arguments["sumOfNumbers"]);
var jobOutput = await client.RunJob(job);
Console.WriteLine(jobOutput.Arguments["sumOfNumbers"]);
停止流程:
await client.RunJob(job, cancellationToken);
await client.RunJob(job, cancellationToken);
监控流程状态:
job.StatusChanged += (sender, args) => Console.WriteLine($"{((Job)sender).ProcessKey}: {args.Status}");
await client.RunJob(job);
job.StatusChanged += (sender, args) => Console.WriteLine($"{((Job)sender).ProcessKey}: {args.Status}");
await client.RunJob(job);
使用事件计划程序:
new RobotClient(new RobotClientSettings { EventScheduler = TaskScheduler.Default })
new RobotClient(new RobotClientSettings { EventScheduler = TaskScheduler.Default })